Zitat von waldo kitty <[email protected]>:

> Martin Friebe wrote:
> > Anyway, unless you are willing to spent time on debugging the issue your
> > self, and go into the depth of the Connector code, this will probably be
> > of little help.
>
> i've finally been able to work out the following...
>
> MySQLConnection: TMySQL50Connection;
>    TMySQL50Connection = Class(TConnectionName);
>      TConnectionName = class (TSQLConnection)
>        TSQLConnection = class (TDatabase)
>          TDatabase = class(TCustomConnection)
>            TCustomConnection = class(TComponent)
>              TComponent =
> class(TPersistent,IUnknown,IInterfaceComponentReference)
>                TPersistent = class(TObject)
>
>
> it works out that MySQLConnection.Close is TCustomConnection.Close but if i
> hover the mouse over "Close" in "Procedure Close;" in the public section of
> the TCustomConnection definition stuffs, the editor wants to point to the
> textfile close routine Close(var t:Text); which definitely isn't the same
thing :(

The hint window shows the next declaration. For example:

MySQL50Connection.Close;

When the mouse is over 'Close' it will show TCustomConnection.Close, because
TConnectionName and TSQLConnection don't have a 'Close'.

When the mouse is already over a declaration, then it shows the next declaration
with this name, so you can see what this declaration hides. For example when the
mouse is over the

    procedure Close;

of TCustomConnection then it will show the 'Close' procedure of the system unit.


> and with all of the searching i've done, i still don't see anything that
> indicates where i can actually lay eyes on the code for
> TCustomConnection.Close

Move editor cursor over 'procedure Close;' of TCustomConnection and press
Ctrl+Shift+Down.

It will take you to

procedure TCustomConnection.Close;
begin
  Connected := False;
end;

Do Ctrl+Click on 'Connected' and it will jump to

    property Connected: Boolean read GetConnected write SetConnected;

Do Ctrl+Click on 'SetConnected' and it will jump to

    procedure SetConnected (Value : boolean); virtual;

Since this is a virtual method it might be overloaded. But in this case it
isn't. So press Ctrl+Shift+Down to jump to the method body.
And so forth ...


> nor do i see anything indicating that it is assigned to another routine going
> by another name :?
>
> now i know why i much prefer the old-style procedural coding methods :P
>
> > If you get the stack backtrace you can mail it and hope some one knows
> > about...
>
> i still don't know what this involves :(

http://wiki.lazarus.freepascal.org/Creating_a_Backtrace_with_GDB


Mattias

_______________________________________________
Lazarus mailing list
[email protected]
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to