Autor Beitrag
PanikAlfred
Hält's aus hier
Beiträge: 11

Win 2000, Win XP
Delphi 7
BeitragVerfasst: Di 07.12.04 15:27 
Folgender Code führt zu einer EAccessViolation, sobald das Programm außerhalb der IDE ausgeführt wird. Der Code wird über ein Centura-Programm ausgeführt (der Delphi-Code ist über eine DLL eingebunden). Im Debugger funktioniert das ohne Probleme (da wird auch das Centura-Programm aufgerufen). Das Programm arbeitet jedoch richtig, die Datei wird an den Client geliefert, dort wird auch alles korrekt ausgeführt. Nur die nervende Fehlermeldung ist mir ein Rätsel.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TfrmTSServer2.FTPServerRetrieveFile(ASender: TIdFTPServerThread;
  const AFileName: String; var VStream: TStream);
begin
  try
    VStream := TFileStream.Create(AFilename,fmopenread);
  except
     on E: Exception do begin
           TS2SendLogFile('FTPServerRetrieveFile', E.Message);
    end;
  end;
end;


Moderiert von user profile iconUdontknow: Delphi-Tags hinzugefügt.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Di 07.12.04 15:41 
Hallo und :welcome: !

So kann ich erst einmal nur Vermutungen anstellen, kannst du noch mehr Code posten?

Hast du eventuell globale Variablen deklariert, oder benutzt du in den Server-Ereignissen irgendwelche in der Form deklarierten Elemente (Steuerelemente oder eigens erstellte Stringliste etc...)? Du weisst, das bei solchen Multithread-Anwendungen Vorsicht geboten ist?

Cu,
Udontknow
IngoD7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: Di 07.12.04 15:52 
Hatte mal sowas ähnliches mit TIdTelnet. Allerdings hatte ich da die Macke in der IDE; außerhalb lief das Programm. Dem Elend war nicht auf die Spur zu kommen. Der Fehler trat auch noch nach völligem Abspecken des Programms (bis auf's nackte Gerippe quasi) auf.

Was blieb? Die Indys selber.
Was war's? Die Indys! 8)

Hatte dann von 9.00.10 auf 9.00.14 upgedatet - seit dem laufen meine Sachen.

Soll heißen: Um dir möglicherweise eine solche Phantomsuche zu ersparen, überprüfe mal deine Indy-Version und lad ggf. eine neuere runter.
PanikAlfred Threadstarter
Hält's aus hier
Beiträge: 11

Win 2000, Win XP
Delphi 7
BeitragVerfasst: Di 07.12.04 22:44 
@Udontknow: Zunächst mal herzlichen Dank für die nette Begrüßung. Falls du dich für Börse interessierst, revanchiere ich mich gerne mal in meinem Börsenboard. :-)
Aber nun zum Thema:
Nein, nichts dergleichen. Sobald ich die Zeile mit VStream := TFileStream... raus nehme, läuft es ohne Fehlermeldung. Das Merkwürdige ist ja auch, dass das Programm korrekt funktioniert. Es ist nur die nervige Meldung.

@IngoD7: Da das Programm ansonsten fehlerfrei läuft, denke ich auch, dass es ein Indy-Problem ist. Ich habe die Version, die mit Delphi 7 mitgeliefert wird. Kann man denn kostenlos auf eine neue Version updaten und ist diese dann auch frei von Runtime-Lizenzen?
IngoD7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: Mi 08.12.04 09:31 
PanikAlfred hat folgendes geschrieben:
Ich habe die Version, die mit Delphi 7 mitgeliefert wird. Kann man denn kostenlos auf eine neue Version updaten
Die hatte ich auch! Ja, kann man.

PanikAlfred hat folgendes geschrieben:
und ist diese dann auch frei von Runtime-Lizenzen?

Lizenztechnisch war kein Unterschied zwischen 9.00.10 und 9.00.14.

Musst schauen, was es da jetzt gibt und was die dazu schreiben.

www.indyproject.org/
PanikAlfred Threadstarter
Hält's aus hier
Beiträge: 11

Win 2000, Win XP
Delphi 7
BeitragVerfasst: Mi 08.12.04 10:36 
Ich setze Delphi 7 ein. Muss ich vor der Installation der Indy 9.0.14 die Indy-Komponenten deinstallieren? In der Anleitung wird das für Delphi 6 als Voraussetzung genannt. Delphi 7 wird dabei aber nicht erwähnt. Welche Version setzt du ein?
IngoD7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: Mi 08.12.04 18:32 
PanikAlfred hat folgendes geschrieben:
Muss ich vor der Installation der Indy 9.0.14 die Indy-Komponenten deinstallieren?

Ich weiß es nicht. :cry:

Als ich auf 9.00.14 upgedatet habe, war meine Verunsicherung auch groß. Irgendwelche Inst.-Tools sollte es wohl mal angeblich gegeben haben, sollten aber nicht richtig funktionieren. Im Zip-File der 9.00.14 war eine händische Beschreibung drin, auf der Indy-WebSite stand eine andere. :? Irgendwo hatte ich da dann rausgelesen, dass man ggf. (oder sogar sicherheitshalber?) irgendwelche alten Indy-Files löschen sollte.

Wie auch immer. Es funktionierte bei mir auf Anhieb. Ich habe aber später von vielen gelesen, die große Schwierigkeiten mit dem Update hatten. Als ich daraufhin den Text (die Anleitung) sichten wollte, den ich seinerzeit benutzt hatte, war der nicht mehr auffindbar. Die Website hatte sich schon verändert.

Das klingt alles sehr wirr - tut mir leid. Aber ich kann dir nichts genaueres mehr sagen. Soll es nicht mittlerweile sogar wieder ein Inst.-Tool geben? Hast du alles genau durchgeguckt auf der WebSite? Wieso überhaupt 9.00.14? Ist das noch die tagesaktuellste?

PanikAlfred hat folgendes geschrieben:
In der Anleitung wird das für Delphi 6 als Voraussetzung genannt. Delphi 7 wird dabei aber nicht erwähnt. Welche Version setzt du ein?

Delphi 7.
Das ist aber genau die Geschichte! Der Text, den ich hatte, war auch für 6 geschrieben bzw. damit betitelt. Doch im Text selber ging dann klar hervor, dass es bei 7 genauso funktioniert. Deshalb konnte ich seinerzeit mit der Anleitung loslegen. Wenn der Verweis auf Delphi 7 in deiner Anleitung fehlt, dann hast du definitv eine andere vor der Nase.

Wenn du nicht weiterkommst, suche mal in den diversen Delphi-Foren und/oder Google nach Informationen über die Installation. Wenn nichts passendes zu finden ist, stelle selbst die Frage danach. Irgendjemand muss das Zeug ja mal in jüngerer Vergangenheit unfallfrei installiert haben.
PanikAlfred Threadstarter
Hält's aus hier
Beiträge: 11

Win 2000, Win XP
Delphi 7
BeitragVerfasst: So 12.12.04 14:17 
Ich habe besagte Version installiert. Die Installation machte keine Probleme, der Fehler war aber nach wie vor da. Ich habe mich nun dazu entschieden, für die Server-Komponenten einen Standard-FTP-Server zu verwenden. Ich habe mich für FileZilla entschieden. Das Programm scheint extrem sauber programmiert zu sein und funktionierte auf Anhieb mit meinem Client-Code. Den Server-Teil, den ich nicht mit einem Standar-FTPServer bedienen kann, werde ich dann alleine programmieren. Entwieder ich polle in einem Verzeichnis oder und da komme ich gleich nochmal zu einer Frage, ich lasse ein Verzeichnis überwachen. Der Explorer von M$ kann das ja, ergo müsste das doch auch mit Delphi machbar sein. Gibt es eine Möglichkeit, ein Verzeichnis auf Veränderungen zu überwachen und im Veränderungsfall eine Nachricht zu bekommen?
IngoD7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: So 12.12.04 20:53 
Weiß ich nicht.

Mach' aber auf jeden Fall einen neuen Thread auf, da das ein völlig anderes Thema ist.
PanikAlfred Threadstarter
Hält's aus hier
Beiträge: 11

Win 2000, Win XP
Delphi 7
BeitragVerfasst: Mi 15.12.04 18:26 
Na mal sehen, vielleicht fällt mir ja auch noch eine andere Lösung ein. Ich mach den Thread mal zu. Danke für deine Hilfe!