AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehler beim ausführen eine Update-Funktion
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler beim ausführen eine Update-Funktion

Ein Thema von gelberkaktus · begonnen am 23. Mär 2012 · letzter Beitrag vom 24. Mär 2012
 
gelberkaktus

Registriert seit: 18. Mär 2012
Ort: Kölleda/Thüringen
16 Beiträge
 
Delphi 7 Personal
 
#1

Fehler beim ausführen eine Update-Funktion

  Alt 23. Mär 2012, 16:04
Wenn ich meine Anwendung ausführe erscheint immer folgende Fehlermeldung.
fehler.JPG

Dies geschieht beim ausführen von folgendem code, welcher updates suchen soll

Delphi-Quellcode:
procedure TForm1.updatesuch;
var nn, version:string;
begin
//prüft ob eine internetverbindung besteht
if IsOnline('mylittlerechner.funpic.de') then
begin
  //ermittelt die aktuelle Version des Programms
  version:= AboutBox.GetFileVersion(Paramstr(0));
  //ermittelt den pfad (Appdata - einstellungen)zum speichern der gedownloadeden datei
  nn:= GetEnvVarValue('AppData');
  //downloaded die datei
  if DownloadFile('http://mylittlerechner.my.funpic.de/mcversion/version.txt',(nn + '\versionneu.txt')) then
  begin
    //wenn erfolgreich dann wird diese in einem dialog angezeigt
// hier tritt der fehler auf
    UpDialog.Memo1.Lines.LoadFromFile((nn + '\versionneu.txt'));
    //vergleicht programmversion mit ermittelter version
    if UpDialog.Memo1.Lines[0] <> version then
     begin
     //macht den dialog sichtbar wo gesagt wird "update gefunden"
     UpDialog.Visible:= true;
     end;
  end;
end;
end;
dabei habe ich folgende funktionen benutzt

Delphi-Quellcode:
//downloaded datei
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  except
    Result := False;
  end;
end;

//prüft ob internet da anhand einer webseite

function IsOnline(Server: String): Boolean;
var
  wsaData: TWSAData;
begin
  WSAStartUp(MAKEWORD(1, 1), wsaData);
  Result := (GetHostByName(PChar(Server)) <> nil);
  WSACleanUp;
end;

//sucht appdata-pfad
function GetEnvVarValue(const VarName: string): string;
var
  BufSize: Integer; // buffer size required for value
begin
  // Get required buffer size (inc. terminal #0)
  BufSize := GetEnvironmentVariable(PChar(VarName), nil, 0);
  if BufSize > 0 then
  begin
    // Read env var value into result string
    SetLength(Result, BufSize - 1);
    GetEnvironmentVariable(PChar(VarName),
      PChar(Result), BufSize);
  end
  else
    // No such environment variable
    Result := '';
end;
//version herausfinden
function TAboutBox.GetFileVersion(Path: string): string;
var
  lpVerInfo: pointer;
  rVerValue: PVSFixedFileInfo;
  dwInfoSize: cardinal;
  dwValueSize: cardinal;
  dwDummy: cardinal;
  lpstrPath: pchar;

begin
  if Trim(Path) = EmptyStr then
    lpstrPath := pchar(ParamStr(0))
  else
    lpstrPath := pchar(Path);

  dwInfoSize := GetFileVersionInfoSize(lpstrPath, dwDummy);

  if dwInfoSize = 0 then
  begin
    Result := 'unbekannt';
    Exit;
  end;

  GetMem(lpVerInfo, dwInfoSize);
  GetFileVersionInfo(lpstrPath, 0, dwInfoSize, lpVerInfo);
  VerQueryValue(lpVerInfo, '\', pointer(rVerValue), dwValueSize);

  with rVerValue^ do
  begin
    Result := IntTostr(dwFileVersionMS shr 16);
    Result := Result + '.' + IntTostr(dwFileVersionMS and $FFFF);
    Result := Result + '.' + IntTostr(dwFileVersionLS shr 16);
  end;
  FreeMem(lpVerInfo, dwInfoSize);

end;
Delphi-Quellcode:
uses
  SysUtils, StdCtrls, FileCtrl, ShellApi,
  WinSock, ShlObj, ActiveX, URLMon;
"Ohne konkrete Symbole ist der Computer bloß ein Haufen Schrott."
Neil Postman

Geändert von gelberkaktus (23. Mär 2012 um 19:04 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 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