Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi dynamische Bibliothek: init+close (https://www.delphipraxis.net/153425-dynamische-bibliothek-init-close.html)

blablab 2. Aug 2010 14:38

dynamische Bibliothek: init+close
 
Hallo!

Hier kann ich eine dynamische Bibliothek initialisieren:
Delphi-Quellcode:
library XYZ;
exports
  ...
begin
  InitLibrary;
end.
Wenn es also 100 Kopien der Bibliothek gibt, dann wird InitLibrary 100 mal aufgerufen.

Mein Problem ist allerdings, dass ich meine Ressourcen auch wieder freigeben möchte. Ich brauche also eine Funktion oder was auch immer, das beim "Destroy" der Bibliothek auch wieder für jede Kopie aufgerufen wird.
Gibts es da eine Möglichkeit? Ich finde einfach keine Lösung...

Grüße
blablab

mkinzler 2. Aug 2010 14:49

AW: dynamische Bibliothek: init+close
 
Schreibe den Code unter
Delphi-Quellcode:
initialization
bzw.
Delphi-Quellcode:
finalization

blablab 2. Aug 2010 16:14

AW: dynamische Bibliothek: init+close
 
Wo genau muss ich das hinschreiben?

Weil wenn ich es vor "begin" schreibe kommt immer "Begin erwartet aber Initialization gefunden". Und nach "Begin" kommt direkt "end."

Kann das sein dass das bei einer Bibliothek nicht geht?

Egal, ich hab jetzt in der Delphi-Hilfe einen passenden Code gefunden, allerdings waren da fehler drin...

mkinzler 2. Aug 2010 16:16

AW: dynamische Bibliothek: init+close
 
In der Unit, die implementiert

blablab 3. Aug 2010 08:43

AW: dynamische Bibliothek: init+close
 
Ich meinte eigentlich wo in der Unit die implementiert muss ich initialization und finalization hinschreiben?
Die ist ja so aufgebaut:
Delphi-Quellcode:
library XYZ;
exports
  ...
begin
  InitLibrary;
end.
und egal wo ichs probiere kommt ein Fehler (siehe letzten Post).

mkinzler 3. Aug 2010 08:57

AW: dynamische Bibliothek: init+close
 
Delphi-Quellcode:
library XYZ;

uses ImpUnit;

exports
  ...
begin
end.
ImpUnit.pas
Delphi-Quellcode:
Unit ImpUnit;
...

<Zu exportierende Funktionen>

initilization
<Init Code>

finalization
<Bereinigungscode>


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr.

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