關於OleVariant型別的疑問

2021-09-05 19:39:42 字數 1037 閱讀 6014

關於olevariant型別的疑問??? vcl元件開發及應用

我在remotedatamodule中建立了乙個這樣的過程(類似於策略模式中"上下文"類)  

申明:  

procedure   strategytrans(var   stgy:   olevariant);   safecall;  

實現:  

procedure   tsvqueuerdm.strategytrans(var   stgy:   olevariant);  

begin  

cxqustgy   :=   stgy.create();//將具體的策略類物件傳遞給抽象類物件;  

end;  

其中,cxqustgy為一基類抽象物件,而stgy是我希望獲得的基類的子類物件  

但從另外乙個地方傳來的(var   stgy:   olevariant)引數是字串型別的(這個字串的內容是某個子類的型別名稱).請問要怎樣才能將stgy字串轉換為類的物件?????????

怎麼沒有人來幫個忙哦

需要一陣列對類進行維護,  

arr:   array   of   tclass;  

然後類加入到陣列。  

類似下面,或者生命陣列常量  

setlength(arr,   length(arr)   +   1);  

arr[high(arr)]   :=   tclass1;  

全部加入到陣列  

procedure   tsvqueuerdm.strategytrans(var   stgy:   olevariant);  

begin  

for   i:=0   to   high(arr)   do  

if   arr[i].classnameis(stgy)   then  

begin  

cxqustgy   :=   arr[i].create;  

break;  

end;  

end;  

關於OleVariant型別的疑問

關於olevariant型別的疑問?vcl元件開發及應用 我在remotedatamodule中建立了乙個這樣的過程 類似於策略模式中 上下文 類 申明 procedure strategytrans var stgy olevariant safecall 實現 procedure tsvqueu...

關於型別轉換

關於型別轉換,這裡只列舉類之間的型別轉換 其難點有在基類和派生類之間的資料型別轉換 在物件導向程式設計中,派生類實際上是基類的例項,但加上了一些額外資訊.在基類上所有的函式和字段也都在派生類上定義了,所以派生類可以隱式轉換為基類,看下面的例子 equals eq1 new equalss 基類和派生...

關於變數型別

不管是強型別還是弱型別,變數都有兩個屬性 型別和值 不管是哪一種程式語言,其中使用的變數,都既有強型別,又有值 弱型別的變數型別則是不許申明的,由直譯器解釋,但是弱型別也是有型別這個概念,php gettype 強制轉換並沒有改變變數的型別 改變的是變數的型別的值得型別,變數的型別是不允許改變的 靜...