Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy in einer Konsolenanwendung (https://www.delphipraxis.net/34705-indy-einer-konsolenanwendung.html)

Framige 26. Nov 2004 21:02


Indy in einer Konsolenanwendung
 
Hi Experten,
ich bin noch recht unerfahren im Umgang mit Delphi, da ich seit >10 Jahren Pascal gewohnt bin.
Aus diesem Grunde kann ich das ein oder andere noch nicht so nachvollziehen.
Ich setze Delphi 7 Enterprise ein.
Ich habe mehrere Programme, die ich nun von Pascal auf Delphi umstellen möchte.
Eines klappt ganz hervorragend. Hiermit kann ich Dateien auf meinen FTP senden und auch abholen. Das Programm ist ein ganz normales Delphi-Projekt.

Nun zu meinem Sorgenkind. Das ist eine Konsolenanwendung. Hier habe ich eine eigene Klasse definiert. In diese wollte ich nun die TIdFTP mit aufnehmen.
Delphi-Quellcode:
cStatistics = class
  IdFTP1 : TIdFtp;
  ...
  private
  ...
  public
  ...
end;
Kompilieren lässt sich alles Fehlerfrei.
Wenn ich das Programm jedoch aufrufe, bekomme ich beim ersten Zugriff auf eine IdFTP-Variable (IdFTP1.Connected) sofort eine "Exception der Klasse EAccessViolation".
Ich denke mal, das ich irgendetwas noch initialisieren muss.
In Erwartung euere kompetenten Antwort(en)
Framige

Ultimator 26. Nov 2004 21:04

Re: Indy in einer Konsolenanwendung
 
Hast du
Delphi-Quellcode:
IdFTP1:=TIdFTP.Create;
aufgerufen?

Framige 26. Nov 2004 21:08

Re: Indy in einer Konsolenanwendung
 
Nein, das habe ich nicht.
Wenn ich das versuche (in "constructor cStatistics.Create;"), bekomme ich beim Compilieren als Fehler
"[Fehler] List3124.pas(3032): Nicht genügend wirkliche Parameter"
Wo (an welcher Stelle) muss das denn aufgerufen werden?

Ultimator 26. Nov 2004 21:12

Re: Indy in einer Konsolenanwendung
 
Oh, du musst natürlich den Owner angeben, also entweder
Delphi-Quellcode:
IdFTP1:=TIdFTP.Create(nil);
oder
Delphi-Quellcode:
IdFTP1:=TIdFTP.Create(self);
Wobei bedies gehen müsste, hab ich die Variante mit self nicht getestet.

[edit]Erstellen solltest du es am besten, bevor du das erste mal darauf zugreifst ;-) [/edit]

Framige 26. Nov 2004 21:16

Re: Indy in einer Konsolenanwendung
 
Hey Klasse.
Dein Tipp war der richtige. Klappt ganz hervorragend.
Ich sehe, ich muss noch viel Lernen :(
Many thanks
Framige


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.

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