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;