AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Debugging in OnActivate hängt sich auf

Debugging in OnActivate hängt sich auf

Ein Thema von zeras · begonnen am 6. Aug 2011 · letzter Beitrag vom 8. Aug 2011
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#1

AW: Debugging in OnActivate hängt sich auf

  Alt 7. Aug 2011, 13:59
Kannst du denn das Projekt debuggen, wenn du den Haltepunkt erst später oder früher setzt?
Habe ich mal gemacht. Jetzt wird wenigstens erst einmal das Programm gestartet, wenn ich durchsteppe.

Wenn ich aber nun in einem OnChange eines TEdit debugge, geht's wieder nicht.

Haben wir heute spezielle Sonneneinstrahlungen, weil das Programm sich so "blöd" verhält?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#2

AW: Debugging in OnActivate hängt sich auf

  Alt 7. Aug 2011, 14:35
Du kannst mal schauen, ob FastMM im FullDebugMode irgendwelche Probleme entdeckt. Denn überschriebener Speicher o.ä. ist einer der möglichen Gründe für solche Probleme.

Ein anderes mögliches Problem tritt bei Verwendung von Threads auf. Unter seltenen Umständen führte das bei Delphi 2009 zu Deadlocks. Erkennen kann man dieses Problem in der Regel daran, dass Windows anbietet das Problem zu reparieren und daraufhin den Deadlock automatisch auflöst.

Beim Remote Debugger von XE passiert das immer wieder mal. Wenn man das dann macht, funktioniert Delphi wieder normal, nur die Verbindung bricht mit einer Assertion ab:

RadStudioRestoreRemoteDebug.png
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#3

AW: Debugging in OnActivate hängt sich auf

  Alt 7. Aug 2011, 15:28
Du kannst mal schauen, ob FastMM im FullDebugMode irgendwelche Probleme entdeckt. Denn überschriebener Speicher o.ä. ist einer der möglichen Gründe für solche Probleme.
Das habe ich nun eingebunden, aber ich weiß nicht, was man damit machen soll. Weder nach dem Start, noch beim Beenden kommt irgendeine Meldung.

Ein anderes mögliches Problem tritt bei Verwendung von Threads auf. Unter seltenen Umständen führte das bei Delphi 2009 zu Deadlocks. Erkennen kann man dieses Problem in der Regel daran, dass Windows anbietet das Problem zu reparieren und daraufhin den Deadlock automatisch auflöst.
Ich habe keine Threads drin, weiß aber nicht, inwieweit TMS da was mitbringt bei den Grids.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#4

AW: Debugging in OnActivate hängt sich auf

  Alt 7. Aug 2011, 16:20
Das habe ich nun eingebunden, aber ich weiß nicht, was man damit machen soll. Weder nach dem Start, noch beim Beenden kommt irgendeine Meldung.
Du musst das in der Include-Datei entsprechend einstellen.
Zum Beispiel die Option {$define FullDebugMode} solltest du wie gesagt aktivieren. Da die Optionen äußerst detailliert beschrieben sind, sollte das eigentlich kein Problem sein.

Ich hänge einfach mal die Optionsdatei an, die ich hier für das Debuggen in der Regel nutze. Mit BeyondCompare z.B. kannst du ja sehen welche Optionen ich gegenüber deinen geändert habe.
Angehängte Dateien
Dateityp: zip FastMM4Options.zip (5,8 KB, 3x aufgerufen)
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#5

AW: Debugging in OnActivate hängt sich auf

  Alt 7. Aug 2011, 16:45

Ich hänge einfach mal die Optionsdatei an, die ich hier für das Debuggen in der Regel nutze. Mit BeyondCompare z.B. kannst du ja sehen welche Optionen ich gegenüber deinen geändert habe.
Danke, habe das alles eingebunden. Kommt da irgendeine Anzeige oder etwas anderes, was anzeigt, dass etwas "faul" ist?

Irgendwie kommt mir das vor, dass ich irgendeinen Denkfehler drin habe. Ich habe ein Grid und beim Doppelklick rufe ich ein weiteres Form auf, wo der Inhalt einer Zeile des ersten Grids aufgezeigt wird. Die Aktualisierung der Daten mache ich dann in OnActivate und da ich noch OnChange für die jeweiligen TEdits habe, müßte dann das OnActivate je mehrmals ansprechen, da ich einige TEdits mit Daten fülle. In dem Moment ist vielleicht aber das 2. Form noch nicht 100%ig fertig, weil ich das im OnActivate mache.
Aber wie soll ich sonst die Daten ins neue Form bringen?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#6

AW: Debugging in OnActivate hängt sich auf

  Alt 7. Aug 2011, 17:24
Danke, habe das alles eingebunden. Kommt da irgendeine Anzeige oder etwas anderes, was anzeigt, dass etwas "faul" ist?
Ja, z.B. beim Beenden des Programms.

Aber wie soll ich sonst die Daten ins neue Form bringen?
Ich dachte es mir doch schon, dass OnActivate nicht wirklich sinnvoll ist...
Das geht viel einfacher:
Delphi-Quellcode:
var
  MySecondForm: TMySecondForm;
begin
  MySecondForm := TMySecondForm.Create(Self);
  try
    MySecondForm.LoadData(MyDataObject);
    MySecondForm.ShowModal;
  finally
    MySecondForm.Free;
  end;
end;
Das mal als Beispiel.
Du kannst doch vor der Anzeige einfach die Daten aktualisieren und dann erst das Formular anzeigen. Da brauchst du keine Events oder irgendwas.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#7

AW: Debugging in OnActivate hängt sich auf

  Alt 7. Aug 2011, 17:35
Du kannst doch vor der Anzeige einfach die Daten aktualisieren und dann erst das Formular anzeigen. Da brauchst du keine Events oder irgendwas.
Das hatte ich Anfangs auch so gemacht, dachte dann aber, dass es Probleme gibt, wenn das Form noch nicht sichtbar ist

Delphi-Quellcode:
begin

  //hier die Details zum Kunden anzeigen
  R := SGLizenz.Row;
  with fShowDetails do begin
    EFirma.Text := SGLizenz.Cells[ColFirma, R];
    .....

    if fShowDetails.ShowModal = mrOK then begin

      SGLizenz.Cells[ColFirma, R] := EFirma.Text;
      .....

    end;
  end;
end;
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  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 18:22 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