[lazarus] Problem found
Shane Miller
SMiller1 at stvgb.org
Tue Jun 29 12:25:57 EDT 1999
I changed my statement in stdcontrols from
onchangeint := gtk_signal_connect(gtk_object(fcomponent),'changed',gtk_signal_func(gtkonChange),Self)
to
gtk_signal_connect(gtk_object(fcomponent),'changed',gtk_signal_func(TCustomMemo.gtkonChange),Self)
and when I try to compile I get
Panic: Internal compiler error, exiting.
stdcontrols.pp (398,115) Fatal: Internal Error 9999
thoughts?
Shane
>>> "Shane Miller" <SMiller1 at stvgb.org> 06/29 10:43 AM >>>
Thanks for the idea. I was hoping to find a "Delphi-like" way of handling it. By doing that I would need to set Self = the gtk object data and that (I think) would start to cause some trouble when I wanted to remove the code from the units and place them into seperate units for GTK.....
Here's another thought.....I was in the shower this morning, like I often am, when I thought of this. Perhaps if I used methods as the procedure to assign the signal to instead of generic procedures then perhaps it would retain it's information. For example:
I tried to move the gtkOnChange and gtkMoveToRow procedures into the TCustomMemo class. Once I did that I added TCUSTOMMEMO. in front of the names of the proceures and tried to compile. I got this error again:
ERROR: Method (variable) and Procedure (variable) are not compatable.
Is there anyway to assign a signal to a METHOD instead of an ordinary procedure?
Shane
>>> <Jan.Schmidt at advitech.com.au> 06/28 10:58 PM >>>
Shane Miller <smiller at lakefield.net> on 29/06/99 15:14:25
I have set up TMemo to use the "changed" signal and when GTK fires that
signal I do :
If assigned FChanged then FChanged(Self);
Obviously when the callback is used, the connection to self is lost and
therefore it's children no longer retain their values.
You can associate an arbitrary piece of data with a GTK widget. In programming
with GTK in the past, I have used something like
gtk_object_set_data(widget,"Self",self)
In the signal handler you can just do
sig_handler(Widget widget....)
...
self = gtk_object_get_data(GTK_OBJECT(widget),"Self");
This works well in C, but I haven't had any reason to do it under fpc...
OR we could port gtk-- to pascal :-)
J.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jan Schmidt
Information Technologist - Business Services
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Advitech Pty Limited - Industry's Technology Resource Centre
1 Elizabeth Street, Tighes Hill NSW, Newcastle, Australia
PO Box 207, Mayfield 2304 NSW, Australia
Phone +61 2 49616544
Fax +61 2 49693530
http://www.advitech.com.au
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_________________________________________________________________
To unsubscribe: mail lazarus-request at miraclec.com with
"unsubscribe" as the Subject
archives at http://www.miraclec.com/list_archives/lazarus
_________________________________________________________________
To unsubscribe: mail lazarus-request at miraclec.com with
"unsubscribe" as the Subject
archives at http://www.miraclec.com/list_archives/lazarus
More information about the Lazarus
mailing list