Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehlermeldung mit EConvertError bei Programmende (https://www.delphipraxis.net/90220-fehlermeldung-mit-econverterror-bei-programmende.html)

torud 13. Apr 2007 14:10


Fehlermeldung mit EConvertError bei Programmende
 
Hallo Wissende,

ich erhalte bei Programmende seit heute leider immer folgende Fehlermeldung in meinem Tool. Sie lautet:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt ModulCam.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: 'Format '%p' ungültig oder nicht kompatibel mit Argument'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------

Leider kann ich damit aber nichts anfangen. Ich habe mir mal folgendes in das OnClose meines Forms geschrieben:

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    ShowMessage('alles ok');
end;
Diese Meldung sehe ich noch. Aber wenn ich diese Meldung in OnHide schreibe, kommt vorher die obige Meldung und der Debugger springt in diese Zeile meiner AdvToolbar-Komponente:

Delphi-Quellcode:
procedure TAdvToolBarPager.SubclassProc(var Msg: TMessage);
begin
  FFormWndProc(Msg);

  //if Msg.Msg = WM_CLOSE) then

  if ((Msg.Msg = WM_MOVING) or (Msg.Msg = WM_LBUTTONDOWN) or (Msg.Msg = WM_SIZE)) or // <= hier landet der debugger
     ((Msg.Msg = WM_SYSCOMMAND) and ((Msg.WParam = SC_MAXIMIZE) or (Msg.WParam = SC_MINIMIZE))) then
  begin
    HideShortCutHintOfAllPages(True);
  end;
end;
Was kann/muss ich jetzt tun, denn diese Meldung kommt leider auch, wenn ich das Programm ohne Delphi laufen lasse?

Klaus01 13. Apr 2007 14:26

Re: Fehlermeldung mit EConvertError bei Programmende
 
Kannst Du mal die Stelle des Codes zeigen wo Du <'Format '%p'> verwendest?

Grüße
Klaus

ste_ett 13. Apr 2007 14:27

Re: Fehlermeldung mit EConvertError bei Programmende
 
Haltepunkt hinter "showmessage()" und dann mit F7/F8 weiter, bis es knallt. :)

torud 13. Apr 2007 20:07

Re: Fehlermeldung mit EConvertError bei Programmende
 
Also mit F7/F8 komme ich nicht wirklich weiter. Der Debugger meldete mir zwar noch, welche Units ihm noch fehlen. Diese kopierte ich dann noch in das LIB-Verzeichnis. Anschliessend habe ich F7 gefühlte 10 Minuten permanent gedrückt, ohne das eine Meldung kam. Allerdings kommt immer noch diese Meldung am Ende.

Um die Frage nach dem Format-Befehl zu beantworten. Dies sind die einzigen 2 Zeilen im gesamten QuellCode aller Units, wo ich solche einen Code verwende. Ich schraube an diesem Projekt schon über ein Jahr, aber an dieser Routine wurde noch nie gemeckert. Diese wird auch zur Laufzeit ziemlich oft aufgerufen, ohne das es zu Fehlermeldungen kommt.

Delphi-Quellcode:
obj_properties.lbl_obj_name.Caption:=Format('Name: %s;',[Name]);
obj_properties.lbl_obj_typ.Caption:=Format('Class: %s;',[ClassName]);
Warum also jetzt bei Programmende???


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