Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Com Objekt arrays als Übergabeparameter

  Alt 21. Jan 2008, 12:05
Das ist das oben genannte SafeArray. In Delphi heißt es eben VarArray. Ich wusste auch nicht mehr, dass Delphi für die Kapselung des SafeArray einzelne Funktionen anbietet.

Das SafeArray selbst wird von Windows verwaltet. Da wird der Zugriff synchronisiert (bwz. ggf. gesperrt). Ausserdem liegt der Speicherplatz außerhalb deines Speichermanagers nämlich direkt in der Hand von Windows. Deswegen kannst du ein SafeArray auch problemlos übergeben.
Und wie gesagt, dasselbe passiert bei Varianten (deswegen heißt es wahrscheinlich auch VarArray). Da erstellt Delphi auch ein SafeArray, wahrscheinlich auf dieselbe Art wie du und legt dann den Zeiger in das Variant. Deswegen sagte ich ja auch: nimm SafeArray oder eben Variant, da ist die Implementierung einfacher.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat