AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DesignTime-Package debuggen?

Ein Thema von himitsu · begonnen am 31. Aug 2024 · letzter Beitrag vom 6. Sep 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: DesignTime-Package debuggen?

  Alt 1. Sep 2024, 13: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;
Ein Therapeut entspricht 1024 Gigapeut.

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

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

AW: DesignTime-Package debuggen?

  Alt 1. Sep 2024, 15:02
path means the working directory

and source comes from the currently opened project.

Original in a project group,
but the simple test without a project group.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: DesignTime-Package debuggen?

  Alt 1. Sep 2024, 16:21
Zumindest ist jetzt ein Problem gelöst.

Man muß innerhalb der IDE unbedingt Application als Owner für Forms verwenden.
Ich hatte hier meine Komponente genommen, um darüber im OptionsDialog auf deren Einstellungen zuzugreifen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: DesignTime-Package debuggen?

  Alt 4. Sep 2024, 04:30
Ich hatte hier meine Komponente genommen, um darüber im OptionsDialog auf deren Einstellungen zuzugreifen.
Ich verwende sonst eigentlich keine externen und vor allem keine "fremden" Owner,
wenn ICH ja die Speicherverwaltung übernehme, also vor allem beim Try-Finally, wo ich es selbst "gleich" wieder freigebe.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.679 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: DesignTime-Package debuggen?

  Alt 4. Sep 2024, 18:21
Ich compiliere im Debug Mode immer mit debug DCUs.

(nur, weil du das am Anfang gefragt hattest)

Wenn man aus Versehen irgendwo reinspringt, geht man halt mit Shift+F8 wieder raus. Das ist mir lieber als wenn ich im Debugger gar nicht in die RTL springen kann.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: DesignTime-Package debuggen?

  Alt 5. Sep 2024, 18:11
Ich schalte des eigentlich nur an, wenn ich es brauche.

Wir kompilieren auf Arbeit nahezu alles über den FinalBuilder.
Da hab ich es inzwischen mit Debuginfos, aber in externen TDS ... die werden standardmäßig in eine ZIP verschoben, so dass es normal ohne Debuginfos ist, aber notfalls können wir dann einfach die ZIP auspacken und haben dann mit.

Früher hatten wir die Fremdkomponenten teilweise mit und ohne Debuginfos kompiliert und dann unsere Projekte mit einer Version davon ... zum Aktivieren mußte dann alles mit der anderen Version neu kompiliert werden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
689 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: DesignTime-Package debuggen?

  Alt 6. Sep 2024, 08:02
Ich nutze CodeSite um solche "schwer debugbaren" Sachen zu "debuggen"
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz