AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Rückgabewert könnte undefiniert sein!
Thema durchsuchen
Ansicht
Themen-Optionen

Rückgabewert könnte undefiniert sein!

Ein Thema von Headi · begonnen am 18. Feb 2006 · letzter Beitrag vom 19. Feb 2006
Antwort Antwort
Headi

Registriert seit: 17. Nov 2005
Ort: Weinfelden
101 Beiträge
 
Delphi 2007 Professional
 
#1

Rückgabewert könnte undefiniert sein!

  Alt 18. Feb 2006, 21:34
Hallo leute,

Hab irgendwie gerade gemerkt, dass es einen Unterschied gibt zwischen projekt erstellen und projekt Compillieren...
Auch wenn ich nicht weiss wo der ist, weiss ich das bei projekt erstellen folgender fehler kommt:

Code:
[Warnung] IdGlobalProtocols.pas(1445): W1035 Rückgabewert der Funktion 'GetGMTDateByName' könnte undefiniert sein
in folgendem Code:

Delphi-Quellcode:
function GetGMTDateByName(const AFileName : String) : TDateTime;
 {$IFDEF WINDOWS}
var LRec : TWin32FindData;
  LHandle : THandle;
   LTime : Integer;
 {$ENDIF}
 {$IFDEF LINUX}
var LRec : TStatBuf;
  LTime : Integer;
  LU : TUnixTime;
 {$ENDIF}
begin
  {$IFDEF DOTNET}
 if not System.IO.File.Exists(AFileName) then
    Result := -1
  else
    Result := System.IO.File.GetLastWriteTimeUtc(AFileName).ToOADate;
  {$ENDIF}
  {$IFDEF WINDOWS}
  LHandle := FindFirstFile(PChar(AFileName), LRec);
  if LHandle <> INVALID_HANDLE_VALUE then
  begin
    Windows.FindClose(LHandle);
    if (LRec.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
    begin
       FileTimeToDosDateTime(LRec.ftLastWriteTime, LongRec(LTime).Hi, LongRec(LTime).Lo);
       Result := FileDateToDateTime(LTime);
    end;
  end;
  {$ENDIF}
  {$IFDEF LINUX}
  if stat(PChar(AFileName), LRec) = 0 then
  begin
    LTime := LRec.st_mtime;
    gmtime_r(@LTime, LU);
    Result := EncodeDate(LU.tm_year + 1900, LU.tm_mon + 1, LU.tm_mday) +
              EncodeTime(LU.tm_hour, LU.tm_min, LU.tm_sec, 0);
  end
  else
  begin
    Result := -1;
  end;
  {$ENDIF}
end;
jetzt erstens habe ich diesen code irgendwie noch nie gesehen und zweitens ist er in der "IdClobalProtocols" was das auch immer bedeuten mag


Naja ich weiss jetzt halt nicht wie ich den fehler weg kriege....
Und desshalb kann ich mein projekt nicht "erstellen" auch wenn "compillieren" geht.


bitte helft mir

mfg headi
Pascal
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#2

Re: Rückgabewert könnte undefiniert sein!

  Alt 18. Feb 2006, 21:46
Hallo,

eine Warnung ist - wie der Name schon sagt - eine Warnung und kein Fehler . D.h., sie hindert nicht die Compilierung / Erstellung. Bekommst du am Ende eine Meldung "Compiliert. Warnungen sind Vorhanden." bzw. "Projekt erstellt. Warnungen..."? Das bedeutet, es hat funktioniert, nur man könnte eben diese Warnung vermeiden. In deinem Falle halte ich das aber für unnötig, da die Warnung in einer INDY-Unit auftritt und nicht in einer eigenen Funktion.

Wenn du keine Meldung bekommst, schalte unter Umgebungsoptionen "Debugger-Fortschritt zeigen" ein.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Headi

Registriert seit: 17. Nov 2005
Ort: Weinfelden
101 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Rückgabewert könnte undefiniert sein!

  Alt 18. Feb 2006, 22:11
Achso ok klappt jetzt
Nur wie ist das denn jetzt genau, gibt es doch keinen Unterschied zwischen:

projekt erstellen

und

grüner pfeil (F9) ??

Gibt es da verschiedene Files?

Naja also vielen dank nochmal

mfg headi
Pascal
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#4

Re: Rückgabewert könnte undefiniert sein!

  Alt 19. Feb 2006, 17:45
[>] heißt nur, dass das Programm nach dem Erstellen gestartet wird.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Rückgabewert könnte undefiniert sein!

  Alt 19. Feb 2006, 17:51
Da du die Sourcen hast, kannst du sie auch reparieren.
Delphi-Quellcode:
  {$IFDEF WINDOWS}
  Result := -1;
  LHandle := FindFirstFile(PChar(AFileName), LRec);
  if LHandle <> INVALID_HANDLE_VALUE then
  begin
    Windows.FindClose(LHandle);
    if (LRec.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
    begin
       FileTimeToDosDateTime(LRec.ftLastWriteTime, LongRec(LTime).Hi, LongRec(LTime).Lo);
       Result := FileDateToDateTime(LTime);
    end;
  end;
  {$ENDIF}
Das ist naemlich wirklich ein Fehler in der Funktion.
Die Linux und die .net Version liefern beide -1 wenn es kein File ist.
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:01 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