Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Konstantenobjekt kann nicht als Var-Parameter weitergegeben (https://www.delphipraxis.net/80976-konstantenobjekt-kann-nicht-als-var-parameter-weitergegeben.html)

Luckie 18. Nov 2006 13:02


Konstantenobjekt kann nicht als Var-Parameter weitergegeben
 
... werden.

Die pobige Fehlermeldung bekomme ich bei folgendem Code:
Delphi-Quellcode:
type
  Exception = class
  protected
    FMsg: WideString;
    FCode: DWord;
  public
    constructor Create(const msg: WideString); overload;
    constructor Create(const msg: WideString; Errorcode: DWord); overload;
    constructor CreateFmt(const msg: WideString; var Args: array of TVarRec);
    property Message: WideString read FMsg;
    property Errorcode: DWord read FCode;
  end;

constructor Exception.CreateFmt(const Msg: Widestring; var Args: array of TVarRec);
var
  s: WideString;
  s1: WideString;
begin
  s1 := Msg;
  s := FormatW(s1, Args);
  self.Create(s);
end;
Delphi-Quellcode:
procedure TExport.SetFilename(Filename: WideString);
begin
  if FileExists(Filename) then
    FFilename := Filename
  else
  begin
    raise Exception.CreateFmt(rsFileNotFound, [Filename]);
  end;
end;
Wo ist denn da ein Konstantenobjekt? rsFilenotFound ist ein Ressourcenstring. Der Cursor steht bei der Fehlermeldung hinter der Zeile mit raise.

Hawkeye219 18. Nov 2006 13:16

Re: Konstantenobjekt kann nicht als Var-Parameter weitergege
 
Hallo Michael,

Du erwartest im Array doch keine Rückgabewerte, deshalb sollte ein CONST reichen:

Delphi-Quellcode:
constructor CreateFmt(const msg: WideString; const Args: array of TVarRec);
Gruß Hawkeye

Luckie 18. Nov 2006 13:17

Re: Konstantenobjekt kann nicht als Var-Parameter weitergege
 
Ächtz. Ich sollte heute wohl nicht programmieren. Danke. Das ist ja schon peinlich. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 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