Einzelnen Beitrag anzeigen

Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#1

[Pascal Warnung] Warum wird die Warnung W1036 angezeigt?

  Alt 7. Dez 2008, 09:44
Hallo,

ich stelle einige Routinen auf OOP um. Unter anderem habe ich mir eine Klasse erstellt die mir einige Information über die Application liefert.

Delphi-Quellcode:
type
  TAppInfos = Class(TObject)
  private
    function GetSpecialPath(nFolder: Integer): string;
    function GetApplicationsName: String;
    function GetAnwendungsPath: TFileName;
    function GetEigeneDateien: TFileName;
    function GetAppAnwendungsOrdner: TFileName;
  public
    property ApplicationsName : String Read GetApplicationsName;
    property AnwendungsPath : TFileName Read GetAnwendungsPath;
    property EigeneDateien : TFileName Read GetEigeneDateien;
    property AppAnwendungsOrdner: TFileName Read GetAppAnwendungsOrdner;
  End;

implementation

{ TAppInfos }

function TAppInfos.GetAnwendungsPath: TFileName;
begin
  Result:= IncludeTrailingPathDelimiter(GetSpecialPath(CSIDL_APPDATA));
end;

function TAppInfos.GetAppAnwendungsOrdner: TFileName;
begin
  Result:= AnwendungsPath+ApplicationsName;
end;

function TAppInfos.GetApplicationsName: String;
var
  aPath: TFileName;
begin
  Result:= ChangeFileExt(ExtractFileName(Application.ExeName),'');
end;

usw.
Verwendet wird die Klasse von mir zum Beispiel um eine INI-Datei im Anwendungsverzeichnis abzuspeichern.

Delphi-Quellcode:
procedure TfrmSPSDAPHauptMenue.FormCreate(Sender: TObject);
var
  aIniDateiPath: TFileName;
  aInitDateiName: TFileName;
  aInfos: TAppInfos;
begin
  // An dieser Stelle sollen einige Ordner erstellt werden im Anwendungs-
  // Verzeichnis.
  OrdnerAnlegenAnwendungsVerzeichnis;
  // Als weiteres wird eine INI-Datei erstellt um das Form wie bei der letzten
  // Speicherung wieder herzustellen.
  aIniDateiPath:= IncludeTrailingPathDelimiter(aInfos.AppAnwendungsOrdner)+
                  IncludeTrailingPathDelimiter(aInfos.ApplicationsName+INIT);
  aInitDateiName:= aIniDateiPath+Caption+'.INI';

  IniLesenAnlegen (self,aInitDateiName);
end;
Beim Ausführen des Programms meckert der Compiler mit folgender Warnmeldung:

[Pascal Warnung] frmSPSDAPHauptmenue2009.pas(58): W1036 Variable 'aInfos' ist möglicherweise nicht initialisiert worden

Meine Frage ist, wie muss ich den Quell-Code anpassen, dass ich diese [Pascal Warnung] nicht mehr bekomme.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat