Thema: DataChannels

Einzelnen Beitrag anzeigen

NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#4

AW: DataChannels

  Alt 20. Jun 2012, 19:09
Hm, also mit solche ActiveX-Dlls habe ich selber noch nie mit gearbeitet, also noch keine programmiert, aber OleVariant, kannst du alles zuweisen, was die größe von 4 Bytes hat. Interfaces sind Pointer, also nur Zeiger. Also ich Bezweifle das du so an den String kommst. So wie ich das verstehe übergibt er dir eine Pointer zu ICWData. Und bei ICWData gibt es die Funktion Value. Die wiederum einen OleVariant zurückgibt. Wie schon gesagt, da kann alles drinliegen, was die größe von 4 Bytes hat. Delphi bzw. die OLE-Schnittstelle wandelt das beim zuweisen in den richtig Typ um.

Wenn du einen String zu OleVariant zuweisst, weis ich jetzt nicht 100% aber vermute ich. Wird daraus ein PChar. Also ein Zeiger auf die Daten von dem Text.
Wenn du dan diese OleVariant bekommst, musst du Wissen als was du das Interpretieren musst. In diesem Beispiel, weis die Funktion function Get__Value: OleVariant; safecall; , dass der Wert ('ChannelName') ein String ist. Also ist OleVariant ein PChar.

Im Klartext zusagen, du müsstest mit OleVariant arbeiten und eine Liste der Kommandos haben und in welchem Typ die sind. In diesem Beispiel übernihmt das ICWData Interfaces das für dich.

Und der User müsste eine Funktion aufrufen, wo er die Typbezeichnung sowie den eigentliche Typ, da kommt wieder mein Beispiel ins Spiel, hinzufügen kann. Dadurch weis deine Anwendung wie er den Typ OleVariant interpretieren muss.

Gruß NickelM
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat