Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prozedure nur einmal ausführbar (https://www.delphipraxis.net/27663-prozedure-nur-einmal-ausfuehrbar.html)

LoW_FloW 13. Aug 2004 17:20


Prozedure nur einmal ausführbar
 
Ich hab mit eine eigene Prozedure zum entpacken gecoded. Wenn man sie nur einmal ausführt geht alles gut. Wenn man sie aber unmittelbar danach ein 2tes Mal ausführt kommt ein Stack-Overflow(oder so... :roll:). Hat jemand Ahnung woran das liegt?
Delphi-Quellcode:
procedure UnZipFile(QuellDatei, Zielordner:String);
begin
  ZipMaster1 := TZipMaster.Create(ZipMaster1);
  with Zipmaster1 do
  begin
    DLLDirectory:=ExtractFilePath(ParamStr(0));
    ZipFilename:=QuellDatei;
    ExtrBaseDir:=Zielordner;
    Extract;
  end;
//Zipmaster1.Free;   kA ob Free oder Destroy
  Zipmaster1.Destroy;
end;
Wie immer bin ich für jede Art von Antwort dankbar :zwinker:

mytar 13. Aug 2004 17:23

Re: Prozedure nur einmal ausführbar
 
Vermutlich liegt hier, der Fehler:

Delphi-Quellcode:
ZipMaster1 := TZipMaster.Create(ZipMaster1);
Du übergibst hier den Instanznamen von TZipMaster als Konstruktor-Parameter.

greetz
mytar :)

LoW_FloW 13. Aug 2004 18:22

Re: Prozedure nur einmal ausführbar
 
Zitat:

Zitat von mytar
Vermutlich liegt hier, der Fehler:

Delphi-Quellcode:
ZipMaster1 := TZipMaster.Create(ZipMaster1);
Du übergibst hier den Instanznamen von TZipMaster als Konstruktor-Parameter.

Wie kann ich das anders machen ? :gruebel:

Die Prozedure ist nämlich in einer speziellen Unit...

cfmx 13. Aug 2004 18:30

Re: Prozedure nur einmal ausführbar
 
Zitat:

Zitat von LoW_FloW
Zitat:

Zitat von mytar
Vermutlich liegt hier, der Fehler:

Delphi-Quellcode:
ZipMaster1 := TZipMaster.Create(ZipMaster1);
Du übergibst hier den Instanznamen von TZipMaster als Konstruktor-Parameter.

Wie kann ich das anders machen ? :gruebel:

Die Prozedure ist nämlich in einer speziellen Unit...

Ich würde es so machen:

Delphi-Quellcode:
ZipMaster1 := TZipMaster.Create(nil);

LoW_FloW 13. Aug 2004 18:44

Re: Prozedure nur einmal ausführbar
 
Zitat:

Zitat von cfmx
Ich würde es so machen:

Delphi-Quellcode:
ZipMaster1 := TZipMaster.Create(nil);

Danke jetzt gehts :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 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