Einzelnen Beitrag anzeigen

snook

Registriert seit: 25. Jun 2010
94 Beiträge
 
Delphi 2005 Professional
 
#3

AW: pointer auf Interface als messageparameter

  Alt 27. Mär 2011, 15:25
ja das problem ist, dass ich das interface als msg.wparam (msg: TMessage) übergeben möchte, und zwar ohne dabei die referenzzählung zu erhöhen. und irgendwie habe ich das gefühl, dass ein interface nciht nur ein zeiger ist, sondern da auch noch infos über das eigentlich objekt drinnenstehen. ich glaube mal gelesen zu haben, dass ein interface aus dem methodentable des interfaces und nem zugehörigen offset, je nachdem wer das interface gerade implementiert besteht. kann es sein, dass mir deswegen beim speichern der interfacevariable a la pointer := @interface die infos über den offset verloren gehen?

edit:

im prinzp soll derjenige der die message bekommt das ganze dann so auswerten können:

Delphi-Quellcode:
var Sender: IPlugIn;
begin
  Sender := PPlugIn(msg.WParam)^;
end;
soweit ich das verstanden habe, ist ja dann die refernzzählung sowieso ausgehebelt, weil ich das interface als pointer übergebe und delphi da dann nciht mitzählt. ich will halt nur nciht den empfänger der message dafür verantwortlich machen das interface wieder auf nil zu setzen, bis auf das was er selber zuordnet

Geändert von snook (27. Mär 2011 um 15:30 Uhr)
  Mit Zitat antworten Zitat