Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: DesignTime-Package debuggen?

  Alt 1. Sep 2024, 14:56
oh neeeee

Wir sind grade eben erst von XE auf 11 umgestiegen.
Und wir nutzen viele DLL und statische Packages.
Anfangs ging dort das Debuggen.
Aber inzwischen auch nicht mehr.
Und ganz pervers ist, dass ein Kollege es geschafft hat, dass immer mit DebugDCUs kompiliert wird. (die Option ist aus und ich vermute verpfuschte Suchpfade)
Auf dem Büro-Notebook konnte ich es so lösen, dass ich die DebugDCUs mit den ReleaseDCUs überschrieben hab, aber das ist auf dem Entwicklungs-Server keine Lösung.

Eigentlich sollte FinalBuilder (MSBuild) das selbe erzeugen, was auch in der IDE erzeugt wird,
aber anfangs ging es eben, aber nun auch wieder nicht. Manchmal geht es, wenn die Packages nochmal in der IDE kompiliert wird,
aber eben auch nur noch auf knapp 50% der Entwicklerrechner ... sonst lassen sich Packages nicht mehr debuggen.




Mein privates Ursprungsproblem wird immer schlimmer und ohne Debuggen weiß ich nur, dass es bis ins ShowModal geht und danach stochere ich im Dunklen.

Das Einfache geht alles,
Delphi-Quellcode:
MessageBox(0, '123', nil, 0);

ShowMessage('123');

UseLatestCommonDialogs := False;
ShowMessage('123');
aber verusche ich es selbst, dann friert die IDE ein.
Delphi-Quellcode:
OptionsDialog := {TOptionsDialog}TForm.Create(Self);
Result := OptionsDialog.ShowModal = mrOk;
Delphi-Quellcode:
OutputDebugString('ShowOptionsDialog:1');
OptionsDialog := {TSerialComPortOptionsDialog}TForm.Create(Self);
try
  OptionsDialog.Caption := 'TestTest123';
  OptionsDialog.Position := poScreenCenter;
  OptionsDialog.ShowInTaskBar := True;
  OutputDebugString('ShowOptionsDialog:2');
  Result := OptionsDialog.ShowModal = mrOk;
  OutputDebugString('ShowOptionsDialog:3');
finally
  OutputDebugString('ShowOptionsDialog:4');
  OptionsDialog.Free;
  OutputDebugString('ShowOptionsDialog:5');
end;
OutputDebugString('ShowOptionsDialog:6');
Dabei macht doch ShowMessage mit UseLatestCommonDialogs=False auch "bloß" TForm.Create + ShowModal?

Delphi-Quellcode:
procedure ShowMessage(const Msg: string);
  procedure ShowMessagePos(const Msg: string; X, Y: Integer);
    function MessageDlgPos(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer): Integer;
      function MessageDlgPosHelp(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer; const HelpFileName: string): Integer;
        {} if ... and UseLatestCommonDialogs then
        {} else
          {} Result := DoMessageDlgPosHelp(CreateMessageDialog(Msg, DlgType, Buttons), HelpCtx, X, Y, HelpFileName);
function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons): TForm;
  function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; DefaultButton: TMsgDlgBtn): TForm;
    function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; DefaultButton: TMsgDlgBtn; CustomButtonCaptions: array of string): TForm;
      {} Result := TMessageForm.CreateNew(Application);
function DoMessageDlgPosHelp(MessageDialog: TForm; HelpCtx: Longint; X, Y: Integer; const HelpFileName: string): Integer;
  {} {with do.}Position := poScreenCenter;
  {} Result := {with do.}ShowModal;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Sep 2024 um 15:52 Uhr)
  Mit Zitat antworten Zitat