:DynamicCast() und :UseMarshalling

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

:DynamicCast() und :UseMarshalling

Beitrag von AUGE_OHR »

hi,
in C:\Alaska\XPPW32\source\SYS\activex.prg steht

Code: Alles auswählen

CLASS ImageList FROM AutomationObject
...
CLASS METHOD ImageList:Create( oOwner, cCLSID, cIID, cLicense )
LOCAL oReturn 
   DEFAULT cCLSID   TO IMGLISTCTRL_PROGID
   DEFAULT cIID     TO IMGLIST_IID
   DEFAULT cLicense TO MSCOMCTRL_LICENSE

   oReturn := AutomationObject():Create( cCLSID,, cLicense )
   IF ValType(oReturn) == "O" 
      oReturn := oReturn:QueryInterface( cIID )
      oReturn := oReturn:DynamicCast( ImageList() )
      oReturn:Owner := oOwner
      oReturn:CLSID := cCLSID
      oReturn:UseMarshalling := .F.
   ENDIF
RETURN oReturn
Das AutomationObject():Create() verstehe ich ja noch, aber wozu dann noch der "Rest" ?
oReturn := oReturn:QueryInterface( cIID )
die cIID steht für IImageList welche man in der Registry unter
HKEY_CLASSES_ROOT\Interface\{2C247F21-8591-11D1-B16A-00C0F0283628} findet.
oReturn := oReturn:DynamicCast( ImageList() )
Die ImageList() ist doch die Class, oder ? wenn nun oReturn ein IImageList Object(?) ist, füge ich dann mit oReturn:DynamicCast()
dem IImageList Object activeX Eigenschaften zu ?

und was ist :UseMarshalling ?
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: :DynamicCast() und :UseMarshalling

Beitrag von Tom »

Hallo, Jimmy.

Was Marshalling ist, wird hier:

http://de.wikipedia.org/wiki/Marshalling

erläutert, aber was es für uns bedeutet - keine Ahnung. :?:
Herzlich,
Tom
Antworten