Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit TInterfaceList (https://www.delphipraxis.net/40334-problem-mit-tinterfacelist.html)

Generalissimo 16. Feb 2005 13:40

Re: Problem mit TInterfaceList
 
Zitat:

Zitat von Spider
das soll jetzt kein Push sein, ich hab was neues rausgefunden.

Und zwar liegt es daran, das ich iPlg nach dem hinzufügen auf nil setze. Wenn ich die Zeile auskommentiere mit dem iPlg := nil; bekomme ich bei FreeLibrary eine Zugriffverletzung.

Ich hab das nun so gelöst, dass ich die hDll public gemacht hab und immer wieder über die hDll neue PlugIns lade und erst im Form.Destroy FreeLibrary(hDll) ausführe. Ich denke das ich zwar nicht sehr sauber, aber bis ich eine andere Lösung habe, wohl das beste...

So sollte das aber auch nicht korrekt funktionieren. Funktioniert nur für das Interface, das zum Schluss über hDLL geladen wurde.

Bei Interfaces ist es, das sie automatisch abgeräumt werden, wenn die letzte Referenz gelöscht wird.
Bei dir ist die einzige Referenz immer nur iPlg gewesen. Durch iPlg:= nil wurden diese Referenzen immer gelöst.

Die Muhkuh 16. Feb 2005 14:06

Re: Problem mit TInterfaceList
 
Lösungsvorschlag?

Alles in ein Array packen?

Sanchez 16. Feb 2005 15:00

Re: Problem mit TInterfaceList
 
Zitat:

Zitat von Generalissimo
Bei dir ist die einzige Referenz immer nur iPlg gewesen. Durch iPlg:= nil wurden diese Referenzen immer gelöst.

In der Interfaceliste steht doch immer noch eine Referenz. Solange die Referenz in der Liste nicht verworfen wird, sollte kein Objekt zerstört werden.

Generalissimo 16. Feb 2005 15:11

Re: Problem mit TInterfaceList
 
Soweit ich weiß verwaltet eine Interface Liste doch nur Interfaces und nicht die Referenzen darauf oder?

Beim hinzufügen wird doch ein Interface übergeben und nicht ein Objekt das die Referenz auf ein Interface hält.
Lieg ich da im Moment total falsch?

shmia 16. Feb 2005 15:42

Re: Problem mit TInterfaceList
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Spider
danke für die Unit, aber ähm :oops: irgendwie weiß ich nicht so recht, wie ich das anstellen soll.

Könntest du mir ein kleines Beispiel schreiben (Exe + ne PlugInDll)? :)

Ich habe jetzt mal ein Demo für ein Plugin geschrieben; siehe Anhang.
Wenn ich die Zeit finde, wird auch noch weitere Beschreibung dazukommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz