Hello,
I have a very simple problem: the call "FindDialog1.Execute" from a 3rd window (red button of the small zipped project) doesn't work: so, no search is possible from there.
Nevertheless, Findialog1.OnFind is assigned vith an existing method's procedure. But the caption-'find' button of the dialog, never triggers its OnClick event, i.e. the code finddialog.inc (line 520) below seems to have no effect:
FindButton.OnClick := @FindClick;
I have two problems:
- first, I don't understand the cause of my second call bug "FindDialog1.Execute".
- and I would like to understand how to debug this with GDB, or another method.
I've tried to follow the address contained in FindDialog1.OnFind (by tracing the FindDialog1.FOnFind field, or other expressions, but without success).
Then, I wanted to use another method, in a "interpreted language" way, i.e. to follow the variations of pointer assignment in general, by "dumping" the content of the objects in a terminal console or in a text file: I tried to transform the object into a json (thinking about "deep cloning"), or to dump it with TMemoryStream in a log: but only the published or public properties are retrieved, not the method pointers.
If someone understands this bug, can he explain me the methodology he will have used to debug this (GDB, dumping functionality, ...)?
Best regards.