Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi hängt bei klick auf Frame (https://www.delphipraxis.net/200341-delphi-haengt-bei-klick-auf-frame.html)

MorrisF 11. Apr 2019 11:47

Delphi hängt bei klick auf Frame
 
Hallo ihr Lieben,
Ich habe ein Testprogramm geschrieben, in dem ich Frames per Laufzeit in ein Formular lade. Ich habe jeden Frame so ausgestattet dass ich den angeklickten Frame 1. überall anklicken kann und das onClick Ereignis auf jeder Komponente ausgelöst wird(, ich weise also jeder Komponente bei OnClick eine von mir geschriebene Prozedur zu), und ihn 2. über die Vergabe eines einheitlichen Tags aller Komponenten, der Identisch mit dem Index des Frame-Arrays ist identifizieren kann.
Im Testprogramm funktioniert das alles einwandfrei. Hier der Code zum Erstellen der Frames und der Vergabe des Tags, sowie des OnClick Ereignises:
(Frame ist in beiden Programmen eine globale Variable: array of TFrame)
Delphi-Quellcode:
procedure TDialog_MainUnit.CreateFrames();
var
  i, j: Integer;
begin
  try
    for i := 0 to 2 do
    begin
      SetLength(Frame, length(Frame) + 1);

      //Frame bauen:
      Frame[i] := TFrame_ButtonTest.Create(Self);
      if Assigned(TFrame_ButtonTest(Frame[i])) then
      begin
        with Frame[i] do
        begin
          Name := 'Frame' + IntToStr(i);
          Parent := PnlFramesBack;
          Align := alLeft;
          Tag := i;
        end;
        TFrame_ButtonTest(Frame[i]).LblName.Caption := Frame[i].Name;
        for j := 0 to TFrame_ButtonTest(Frame[i]).ComponentCount - 1 do
        begin
          TFrame_ButtonTest(Frame[i]).Components[j].Tag := i;
          TButton(TFrame_ButtonTest(Frame[i]).Components[j]).OnClick := FrameClick;
          TButton(TFrame_ButtonTest(Frame[i]).Components[j]).Cursor := crHandPoint;
        end;
        TFrame_ButtonTest(Frame[i]).Show;
      end;
    end;
  except
    on e: Exception do
    begin
      ShowMessage('Fehler in CreateFrames(): ' + e.Message);
    end;
  end;
end;
Und hier die FrameClick-Prozedur, in der der Frame als angeklickt markiert wird:
Delphi-Quellcode:
procedure TDialog_MainUnit.FrameClick(Sender: TObject);
var
  tmpIdx, i: Integer;
begin
  try
    tmpIdx := TComponent(Sender).Tag;

    LblFramesAktiv.Caption := 'Aktiver Frame: ';
    for i := Low(Frame) to High(Frame) do
    begin
      TFrame_ButtonTest(Frame[i]).IsSelected := False;
      TFrame_ButtonTest(Frame[i]).PnlTop.BevelOuter := bvNone;
      TFrame_ButtonTest(Frame[i]).PnlTop.BevelWidth := 1;
    end;
    TFrame_ButtonTest(Frame[tmpIdx]).IsSelected := True;
    TFrame_ButtonTest(Frame[tmpIdx]).PnlTop.BevelOuter := bvRaised;
    TFrame_ButtonTest(Frame[tmpIdx]).PnlTop.BevelWidth := 3;

    LblFramesAktiv.Caption := 'Aktiver Frame: ' + TFrame_ButtonTest(Frame[tmpIdx]).Name;
  except
    on e: Exception do
    begin
      ShowMessage('Fehler in FrameClick(): ' + e.Message);
    end;
  end;
end;
Wie gesagt, funktioniert das alles ohne Probleme. Also wollte ich den Code meines Testprogrammes auf mein Hauptprogramm anwenden, was dann so für das Erstellen der Frames so aussieht:
Delphi-Quellcode:
function TDialog_Hauptprogramm.CreateFrames(): Boolean;
var
  i, j: Integer;

  function DeleteFrames(): Boolean;
  var
    i: Integer;
  begin
    Result := False;
    try
      for i := Low(Frame) to High(Frame) do
      begin
        if Assigned(Frame) then
          FreeAndNil(Frame[i]);
      end;
      Result := True;
    except
      on e: Exception do
      begin
        Result := False;
        ShowMessage('Fehler in DeleteFrames(): ' + e.Message);
      end;
    end;
  end;

begin
  Result := False;
  try
    //Erst alle Frames löschen
    if DeleteFrames() then
    begin
      TmpQuery.Close;
      TmpQuery.SQL.Clear;
      TmpQuery.SQL.Add('SELECT * FROM meine_tabelle');
      TmpQuery.SQL.Add('WHERE ID_meine_tablle2 = ' + IntToStr(SpinEdit.Value));
      TmpQuery.Open;
      try
        TmpQuery.First;
        i := 0;

        while not TmpQuery.Eof do
        begin
          SetLength(Frame, length(Frame) + 1);
          //Frame bauen:
          TMein_Frame(Frame[i]) := TMein_Frame.Create(self);
        if Assigned(TMein_Frame(Frame[i])) then
        begin
           with Frame[i] do
           begin
            Name := 'Mein_Frame'+IntToStr(i);
            Parent := PnlFramesBack;
            Tag := i;
            Align := alLeft;
           end;

           //Frame ausstatten:
           TMein_Frame(Frame[i]).IsSelected := False;
           TMein_Frame(Frame[i]).PnlBack.BevelOuter := bvNone;
           TMein_Frame(Frame[i]).PnlBack.BevelWidth := 1;
           //allen Frame-Komponenten den selben tag vergeben und anklickbar machen:
           for j := 0 to TMein_Frame(Frame[i]).ComponentCount - 1 do
           begin
            TMein_Frame(Frame[i]).Components[j].Tag := i;
            TButton(TMein_Frame(Frame[i]).Components[j]).OnClick := OnFrameClick;
            TButton(TMein_Frame(Frame[i]).Components[j]).Cursor := crHandPoint;
           end;
           Frame[i].Show;
        end;
          TmpQuery.Next;
          Inc(i);
        end;
      finally
        TmpQuery.Close;
      end;
      ScrollBoxFrames.Refresh;
    end
    else
    begin
      Result := False;
      Exit;
    end;
    Result := True;
  except
    on e: Exception do
    begin
      ShowMessage('Fehler in CreateFrames(): ' + e.Message);
    end;
  end;
end;
Diese Funktion ist also Quasi identisch mit der aus meinem Testprogramm, bis auf dass ich die Frames im richtigen Programm vorm Createn erst lösche und ich mit einer while schleife durch meine TmpQuery gehe und dabei i inkrementiere, anstatt wie im Testprogramm i direkt mit einer for-Schleife hochzuzählen. Aber das sollte ja keinen unterschied machen... Oder?
Das Createn der Frames funktioniert auch im Hauptprogramm einwandfrei. Aber jetzt kommt der Knackpunkt; Hier meine OnFrameClick Prozedur vom Hauptprogramm:
Delphi-Quellcode:
procedure TDialog_Hauptprogramm.OnFrameClick(Sender: TObject);
var
  tmpIdx, i: Integer;
begin
  try
    tmpIdx := TComponent(Sender).Tag;

    //alle Frames demarkieren:
    for i := Low(Frame) to High(Frame) do
    begin
      TMein_Frame(Frame[i]).IsSelected := False;
      TMein_Frame(Frame[i]).PnlBack.BevelOuter := bvNone;
      TMein_Frame(Frame[i]).PnlBack.BevelWidth := 1;
    end;

    //Den angeklickten Frame markieren:
    TMein_Frame(Frame[tmpidx]).IsSelected := True;
    TMein_Frame(Frame[tmpidx]).PnlBack.BevelOuter := bvRaised;
    TMein_Frame(Frame[tmpidx]).PnlBack.BevelWidth := 3;

    //mache anders Zeug...
  except
    on e: Exception do
    begin
      ShowMessage('Fehler in OnFrameClick(): ' + e.Message);
    end;
  end;
end;
Diese Prozedur ist sogar noch ähnlicher zu der FrameClick Prozedur vom Testprogramm.
Ich habe nun aber 2 Probleme in dieser Prozedur:
1. Das durchlaufen des Arrays, also folgende Code-passage erzeugt eine Zugriffsverletzung
Delphi-Quellcode:
    for i := Low(Frame) to High(Frame) do
    begin
      TMein_Frame(Frame[i]).IsSelected := False;
      TMein_Frame(Frame[i]).PnlBack.BevelOuter := bvNone;
      TMein_Frame(Frame[i]).PnlBack.BevelWidth := 1;
    end;
Wenn ich diesen Teil auskommentiere, Habe ich diesen Fehler schon mal nicht. Allerdings brauche ich diesen Code nunmal und im Testprogramm hat es ja einwandfrei funktioniert.
Nun zu Problem 2:
Als Progammierer denkt man sich nach dem Zugriffsverletzngsfehler natürlich: "Na gut, dann debugge ich die Prozedur halt mal und setze nen Haltepunkt an den Anfang." Wenn man das nun tut und auf den Frame klickt, hängt sich das ganze Programm auf und ich bekomme nichtmal eine Fehlermeldung. Ich kann dann weder Delphi, noch das Programm schließen und muss Delphi per Taskmanager abschießen.
Was ist da los???
Im Testprogramm hatte ich das alles nicht.
Woran könnte es liegen?
Danke nochmal im Voraus für eure Hilfe!

MFG
MorrisF

Jumpy 11. Apr 2019 12:34

AW: Delphi hängt bei klick auf Frame
 
TMein_Frame(Frame[i]) := TMein_Frame.Create(self);

sieht mir falsch aus, oder?

Generell könnte man auch so arbeiten, dass man eine lokale TMein_Frame variable benutzt, diese füllt und setzt und am ende Frame[i] zuweist. Dann kann man sich das gehampel und gecaste sparen.

Und man könnte dann auch das i weglassen und Frame[High(Frame)] nehmen.

MorrisF 11. Apr 2019 12:52

AW: Delphi hängt bei klick auf Frame
 
Habe jetzt
Delphi-Quellcode:
TMein_Frame(Frame[i]) := TMein_Frame.Create(self);
durch
Delphi-Quellcode:
Frame[i] := TMein_Frame.Create(self);
ausgetauscht. Hat allerdings keinen unterschied gemacht

Morris

MorrisF 11. Apr 2019 12:54

AW: Delphi hängt bei klick auf Frame
 
Zitat:

Zitat von Jumpy (Beitrag 1430061)
Generell könnte man auch so arbeiten, dass man eine lokale TMein_Frame variable benutzt, diese füllt und setzt und am ende Frame[i] zuweist. Dann kann man sich das gehampel und gecaste sparen.

Und man könnte dann auch das i weglassen und Frame[High(Frame)] nehmen.

TMein_Frame ist die Frame Unit, die ich im Projekt habe, ich habe den Frame auch in den uses meines Haupformulars.
Ich bräuchte TMein_Frame außerdem als globlae Variable, da ich den Frame an mehreren Stellen im Programm brauche.
Hätte jemand mal ein kleines Beispiel, wie ich das mit einer globalen Variable vom Typ TMein_Frame machen könnte?

MorrisF 11. Apr 2019 13:19

AW: Delphi hängt bei klick auf Frame
 
Ich glaube ja eher, dass es irgenwas mit der von mir zugewiesenen Prozedur OnFrameClick zu tun hat, weil da bekomm ich ja den Fehler bzw wenn ich da nen Haltepunkt setze, hängt sich Delphi auf

Delphi.Narium 11. Apr 2019 13:36

AW: Delphi hängt bei klick auf Frame
 
Nur im Editor hingedattelt, daher keine Garantie für irgendwas ;-)
Delphi-Quellcode:
function TDialog_Hauptprogramm.CreateFrames(): Boolean;
var
  j: Integer;
  myFrame : TMein_Frame;

  function DeleteFrames(): Boolean;
  var
    i: Integer;
  begin
    try
      for i := Low(Frame) to High(Frame) do
      begin
        if Assigned(Frame[i]) then
          FreeAndNil(Frame[i]);
      end;
      SetLength(Frame, 0);
      Result := True;
    except
      on e: Exception do
      begin
        Result := False;
        ShowMessage(Format('Fehler in DeleteFrames(): %s',e.Message]));
      end;
    end;
  end;

begin
  try
    // Erst alle Frames löschen
    Result := DeleteFrames();
    if Result then
    begin
      TmpQuery.Close;
      TmpQuery.SQL.Clear;
      TmpQuery.SQL.Add('SELECT * FROM meine_tabelle');
      TmpQuery.SQL.Add('WHERE ID_meine_tablle2 = ' + IntToStr(SpinEdit.Value));
      TmpQuery.Open;
      try
        TmpQuery.First;
        while not TmpQuery.Eof do
        begin
          SetLength(Frame, length(Frame) + 1);
          // Frame bauen:
          myFrame := TMein_Frame.Create(self);
          if Assigned(myFrame) then
          begin
            myFrame.Tag := tmpQuery.RecNo;
            myFrame.Name := Format('Mein_Frame_%d',[myFrame.Tag]);
            myFrame.Parent := PnlFramesBack;
            myFrame.Align := alLeft;
            // Frame ausstatten:
            myFrame.IsSelected := False;
            myFrame.PnlBack.BevelOuter := bvNone;
            myFrame.PnlBack.BevelWidth := 1;
            // allen Frame-Komponenten den selben tag vergeben und anklickbar machen:
            for j := 0 to myFrame.ComponentCount - 1 do
            begin
              myFrame.Components[j].Tag := myFrame.Tag;
              // Sicher, das alles nur TButtons oder deren Nachfahren sind?
              TButton(myFrame).Components[j]).OnClick := OnFrameClick;
              TButton(myFrame).Components[j]).Cursor := crHandPoint;
            end;
            myFrame.Show;
            Frame[High(Frame)] := myFrame;
          end;
          TmpQuery.Next;
        end;
      finally
        TmpQuery.Close;
      end;
      ScrollBoxFrames.Refresh;
    end;
  except
    on e: Exception do
    begin
      ShowMessage('Fehler in CreateFrames(): ' + e.Message);
      Result := False;
    end;
  end;
end;
Hier wurde für Frames TMein_Frame genutzt.
Im Folgenden wird für Frames TFrame_ButtonTest.

Sind die kompatibel oder ist das nur eine "BeispielquelltextZurProblemBeschreibungsdifferenz "?
Delphi-Quellcode:
procedure TDialog_MainUnit.FrameClick(Sender: TObject);
var
  tmpIdx, i: Integer;
begin
  if not Assigned(Sender) then begin
    MessageDlg('Vernünftige Fehlermeldung machen.',mtError,[mbOk),0);
  end else
  if not Sender is TComponent then begin
    MessageDlg('Noch ''ne vernünftige Fehlermeldung machen.',mtError,[mbOk),0);
  end else begin
    try
      tmpIdx := TComponent(Sender).Tag;
 
      LblFramesAktiv.Caption := 'Aktiver Frame: ';
      for i := Low(Frame) to High(Frame) do
      begin
        TFrame_ButtonTest(Frame[i]).IsSelected := False;
        TFrame_ButtonTest(Frame[i]).PnlTop.BevelOuter := bvNone;
        TFrame_ButtonTest(Frame[i]).PnlTop.BevelWidth := 1;
      end;
      TFrame_ButtonTest(Frame[tmpIdx]).IsSelected := True;
      TFrame_ButtonTest(Frame[tmpIdx]).PnlTop.BevelOuter := bvRaised;
      TFrame_ButtonTest(Frame[tmpIdx]).PnlTop.BevelWidth := 3;

      LblFramesAktiv.Caption := Format('Aktiver Frame: %s', [TFrame_ButtonTest(Frame[tmpIdx]).Name]);
    except
      on e: Exception do
      begin
        ShowMessage(Format('Fehler in FrameClick(): %s', [e.Message]));
      end;
    end;
  end;
end;
Wieso brauchst Du den Frame als globale Variabel? Du hast doch zur Laufzeit n Frames?

Jumpy 11. Apr 2019 13:45

AW: Delphi hängt bei klick auf Frame
 
Das DeleteFrames macht ja nur Sinn, wenn man das mehrfach neu aufbaut.
In dem Fall müsste man in DeleteFrames aber auch das Array wieder auf 0 setzen.

Und seh gerade, das hier macht in DeleteFrames doch auch keinen Sinn:
Delphi-Quellcode:
if Assigned(Frame) then
   FreeAndNil(Frame[i]);
Müsste doch eher sein:
Delphi-Quellcode:
if Assigned(Frame[i]) then
   FreeAndNil(Frame[i]);

haentschman 11. Apr 2019 13:51

AW: Delphi hängt bei klick auf Frame
 
Hallöle...:P
Delphi-Quellcode:
TmpQuery.Close;
TmpQuery.SQL.Clear;
TmpQuery.SQL.Add('SELECT * FROM meine_tabelle');
TmpQuery.SQL.Add('WHERE ID_meine_tablle2 = ' + IntToStr(SpinEdit.Value));
TmpQuery.Open;
...früher gabs dafür einen mit dem Rohrstock! :warn:

besser:
Delphi-Quellcode:
TmpQuery.SQL.Text := 'SELECT * FROM meine_tabelle';
TmpQuery.SQL.Add('WHERE ID_meine_tablle2 = :ID');
TmpQuery.ParamByName('ID').AsInteger := IntToStr(SpinEdit.Value);
TmpQuery.Open;
:thumb:

MorrisF 11. Apr 2019 13:55

AW: Delphi hängt bei klick auf Frame
 
Zitat:

Zitat von Jumpy (Beitrag 1430082)
Das DeleteFrames macht ja nur Sinn, wenn man das mehrfach neu aufbaut.
In dem Fall müsste man in DeleteFrames aber auch das Array wieder auf 0 setzen.

Und seh gerade, das hier macht in DeleteFrames doch auch keinen Sinn:
Delphi-Quellcode:
if Assigned(Frame) then
   FreeAndNil(Frame[i]);
Müsste doch eher sein:
Delphi-Quellcode:
if Assigned(Frame[i]) then
   FreeAndNil(Frame[i]);

In meinem Hauptprogramm baue ich die Frames mehrfach auf. Daher das DeleteFrames.
Mit der Code Verbesserung hast du schon mal recht! Vielen Dank!:thumb: Leider funktioniert das Programm immer noch nicht:|

Jumpy 11. Apr 2019 13:59

AW: Delphi hängt bei klick auf Frame
 
Setzt du denn jetzt die Array-Länge wieder zurück?

MorrisF 11. Apr 2019 14:05

AW: Delphi hängt bei klick auf Frame
 
Zitat:

Zitat von Jumpy (Beitrag 1430088)
Setzt du denn jetzt die Array-Länge wieder zurück?

einfach auf 0 setzen?

MorrisF 11. Apr 2019 14:16

AW: Delphi hängt bei klick auf Frame
 
1000 Dank!!! Das mit dem Array zurücksetzen hat funktioniert. Bekomme keinen Fehler wegen Zugriffsverletzung mehr. :thumb::thumb::thumb:
Lieder hängt sich Delphi immernoch auf, wenn ich einen Haltepunkt in die OnFrameClick Prozedur setze.
Woran könnte das liegen?

FaTaLGuiLLoTiNe 12. Apr 2019 00:27

AW: Delphi hängt bei klick auf Frame
 
Mal so nebenbei:

Zitat:

Zitat von Delphi.Narium (Beitrag 1430073)
Delphi-Quellcode:
if Assigned(Frame[i]) then
 FreeAndNil(Frame[i]);

Bei Aufrufen von TObject.Free und auch FreeAndNil ist die vorherige Prüfung auf Assigned überflüssig. Die Methoden prüfen selbst vor dem Aufruf des Destruktors auf <> nil.

MorrisF 12. Apr 2019 07:57

AW: Delphi hängt bei klick auf Frame
 
Zitat:

Zitat von FaTaLGuiLLoTiNe (Beitrag 1430133)
Bei Aufrufen von TObject.Free und auch FreeAndNil ist die vorherige Prüfung auf Assigned überflüssig. Die Methoden prüfen selbst vor dem Aufruf des Destruktors auf <> nil.

Danke für den Tip!:thumb:
Aber das wird ja wohl nicht der Grund sein, warum sich Delphi beim klick auf den Frame aufhängt. Oder?

haentschman 12. Apr 2019 08:19

AW: Delphi hängt bei klick auf Frame
 
Moin...:P
Zitat:

Bei Aufrufen von TObject.Free und auch FreeAndNil ist die vorherige Prüfung auf Assigned überflüssig.
...ist schon richtig. :wink: Aber wenn du ein Object mit Free wegschmeißt, dann ist das Object nicht nil. Sondern ein "dangling pointer". https://de.wikipedia.org/wiki/H%C3%A4ngender_Zeiger
...dann hast du wieder das gleiche Problem mit der Zugriffsverletzung beim Free. :zwinker:

Am Rande:
Persönlich habe ich mit Arrays keinen Vertrag. Man muß sich immer um die Größe kümmern. Ich stehe mehr auf Listen. Die verwalten sich selbst. :thumb: Tlist<> oder TObjectList<>

hoika 12. Apr 2019 08:46

AW: Delphi hängt bei klick auf Frame
 
Hallo,
Zitat:

warum sich Delphi beim klick auf den Frame aufhängt
Schreibe mal ein Exit oder ein MessageBox() als ersten Aufruf in den OnClick rein.
Prüfe alle Watch-Points, am besten alle mal entfernen.

Jumpy 12. Apr 2019 11:11

AW: Delphi hängt bei klick auf Frame
 
Kannst du das "Aufhängen" von Delphi mal näher bescheiben? Das alles stoppt ist ja eigentlich der Sinn von einem Haltepunkt. Was machen die üblichen Tastenkombinationen F7, F8, F9 oder Strg+F2?

MorrisF 12. Apr 2019 12:07

AW: Delphi hängt bei klick auf Frame
 
Zitat:

Schreibe mal ein Exit oder ein MessageBox() als ersten Aufruf in den OnClick rein.
Prüfe alle Watch-Points, am besten alle mal entfernen.
Eine MessageBox hatte ich schon drin und alle Haltepunkte sind auch entfernt worden (bis auf den eienn on OnFrameClick). Das Problem bleibt bestehen...:(
Ich kann auch in allen Prozeduren des Programmes Haltepunkte setzen, solange sie nicht in OnFrameClick aufgerufen werden.

MorrisF 12. Apr 2019 12:17

AW: Delphi hängt bei klick auf Frame
 
Zitat:

Zitat von Jumpy (Beitrag 1430149)
Kannst du das "Aufhängen" von Delphi mal näher bescheiben? Das alles stoppt ist ja eigentlich der Sinn von einem Haltepunkt. Was machen die üblichen Tastenkombinationen F7, F8, F9 oder Strg+F2?

Mir is schon klar, dass der Sin eines Haltepunkts ist, dass das Programm an der Stelle anhält, wo der Haltepunkt gesetzt wurde xD
Das Aufhängen sieht so aus, dass ich auf den Frame klicke (und ein Haltepuntk in OnFrameClick gesetzt ist) sich mein Programm aufhängt. Sprich, ich komme nichtmal in Delphi, in die Codezeile, in der der Haltepunkt gesetzt ist, sondern mein Programm hängt. Ich kann auch im Programm keine Buttons oder sonstige interaktiven Komponenten betätigen. Ich kann nichtmal in der Taskbar von meinem Programm zurück zur Delphi IDE wechseln. Ich kann auch nicht das Fenster schließen, sprich auf das rote X klicken oder verkleinern oder sonstwas (ähnlich, wie ein freeze..?). Wenn ich versuche, das Programm an sich mit dem Taskmanger zu killen, dann geht das auch nicht. Nur, wenn ich Delphi (also die IDE) mit dem Taskmanager abschieße, schließt sich das Programm.
Die Tastenkombinationen haben auch keine Wirkung, da ich ja nicht in den Code komme.

Jumpy 12. Apr 2019 13:34

AW: Delphi hängt bei klick auf Frame
 
Zitat:

Zitat von MorrisF (Beitrag 1430160)
Zitat:

Zitat von Jumpy (Beitrag 1430149)
Kannst du das "Aufhängen" von Delphi mal näher bescheiben? Das alles stoppt ist ja eigentlich der Sinn von einem Haltepunkt. Was machen die üblichen Tastenkombinationen F7, F8, F9 oder Strg+F2?

Mir is schon klar, dass der Sin eines Haltepunkts ist, dass das Programm an der Stelle anhält, wo der Haltepunkt gesetzt wurde xD

Sorry. Kenn ja dein Level nicht und dachte, ich frage zur Sicherheit mal die offensichtlichen Dinge zuerst nach :).

Zum Problem: Ist das egal, an welcher Stelle der OnFrmeClick du den Haltepunkt setzt?

hoika 12. Apr 2019 13:50

AW: Delphi hängt bei klick auf Frame
 
Hallo,
Zitat:

alle Haltepunkte sind auch entfernt worden
Watch-Point, nicht Break-Point, also überwachte Ausdrücke.

MorrisF 12. Apr 2019 13:53

AW: Delphi hängt bei klick auf Frame
 
Zitat:

Zitat von Jumpy (Beitrag 1430166)
Sorry. Kenn ja dein Level nicht und dachte, ich frage zur Sicherheit mal die offensichtlichen Dinge zuerst nach .

Alles gut xD
Zitat:

Zitat von Jumpy (Beitrag 1430166)
Zum Problem: Ist das egal, an welcher Stelle der OnFrmeClick du den Haltepunkt setzt?

ja, ist es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 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 by Thomas Breitkreuz