Einzelnen Beitrag anzeigen

Curry

Registriert seit: 7. Dez 2010
12 Beiträge
 
#1

Daten aktualisieren sich nicht

  Alt 4. Jul 2012, 19:28
Hallo liebes Forum,

Ich hab mich an ein neues Projekt mit Delphi7 angefangen, dessen Grundlage darin besteht das einmal pro Sekunde eine Datei von einem FTP server gelesen wird und anschließend in einem memo angezeigt wird.

Auf meinem eigenen Rechner funktioniert dies ohne Probleme. Auf den Rechnern zweier Freunde hingegen wird die betreffende Datei nur einmal zu Anfang geladen - danach wird sie nicht mehr aktualisiert.

Hier die entsprechende Stelle:

Delphi-Quellcode:
procedure TFOrm1.ftpschleife;
var
ergebnis: boolean;
programpath: string;
begin

  programpath:=ExtractFilePath(Application.Exename) ;
  
    while schalter do begin
     ergebnis:=getfile(ftp_array[1],ftp_array[2],ftp_array[3],ftp_array[4]+'tracer.txt',programpath+'tracer.rax');
     utime.Delay(500);
    try
        memo1.Lines.LoadFromFile(programpath+'tracer.rax');
    except
        edit1.Text:= 'Fehler beim einlesen der Datei!';
        end;
    memo1.Lines.LoadFromFile(programpath+'tracer.rax');
  end;

end;
im ftp_array befinden sich die Serverdaten.

Hier noch die verwendete getfile Funktion:
Delphi-Quellcode:
function getfile(server, username, password, localfile, remotefile: string; port: word = 21): boolean;
var
  hopen, hconnect: HINTERNET;
begin
  hopen := InternetOpen('myagent', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
  hconnect := InternetConnect(hopen, pchar(server), port, pchar(username), pchar(password), INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
  Result := FtpGetFile(hconnect, pchar(localfile), pchar(remotefile), false, 0, FTP_TRANSFER_TYPE_UNKNOWN, 0);
  InternetCloseHandle(hconnect);
end;
Bei mir funktioniert das alles ohne Probleme.
Deswegen hab ich Probleme damit eine Lösung zu finden.

lg

EDIT: Also um das Problem etwas genauer zu beschreiben: Die Zieldatein ("tracer.rax") aktualsiert sich nicht. Trotzdem is die variable "ergebnis" immer true.
Wenn meine Freunde die Datei ("tracer.rax") während das Programm läuft bearbeiten, wird die Änderung immerwieder rückgängig gemacht und der ursprüngliche Inhalt (das was auch im memo steht) wird wieder in Datei geschrieben.

Geändert von Curry ( 4. Jul 2012 um 19:45 Uhr)
  Mit Zitat antworten Zitat