Project JEDI - Issue Tracker
Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002676 [JEDI VCL] 00 JVCL Components crash always 2005-02-21 14:26 2006-04-05 01:17
Reporter foxy View Status public  
Assigned To obones
Priority normal Resolution fixed  
Status resolved   Product Version 3.00 BETA 2
Summary 0002676: JvInterpreter: Call of derived methods does not work
Description I have defined a new class TRemoteQuery, descendent of TClientDataSet, which is desendent of TDataSet.
I have also defined my method TRemoteQuery.Open.
But instead of calling my new method TRemoteQuery.Open, JvInterpreter calls TDataSet.Open method.

The problem is in GetMethod function of TJvInterpreterAdapter.GetValue method.
After calling FGetList.Find(Identifier, i) function,
it checks (((Args.ObjTyp = varObject) and (Args.Obj is JvInterpreterMethod.FClassType))...

Open method of TDataSet is situated in FGetList list prior to TRemoteQuery.Open method, so it will be checked first.

Now, since TRemoteQuery is descendent of TDataSet, then "Args.Obj is JvInterpreterMethod.FClassType" will return true, which will cause the *WRONG* method to be called (instead of TRemoteQuery.Open);

I have attached the modifications of GetMethod function and FGetList.Find() method that will avoid this problem (check my comments);
Additional Information
Tags No tags attached.
Attached Files ? file icon GetMethod_and_Find.pas [^] (2,594 bytes) 2005-02-21 14:26

- Relationships

-  Notes
(0006579)
obones (administrator)
2005-02-25 05:21

Which version of the JVCL are you using ?
(0006587)
foxy (reporter)
2005-02-25 08:13

JVCL 3.00 RC 1
(0008750)
obones (administrator)
2006-03-30 05:22

Thanks, this is now confirmed as working.
It will be in CVS as soon as SourceForge fixes the issues with CVS.
(0008924)
obones (administrator)
2006-04-05 01:17

This is now in CVS

- Issue History
Date Modified Username Field Change
2005-02-21 14:26 foxy New Issue
2005-02-21 14:26 foxy File Added: GetMethod_and_Find.pas
2005-02-25 05:20 obones Summary Calling methods of descendent classes => JvInterpreter: Call of derived methods does not work
2005-02-25 05:21 obones Note Added: 0006579
2005-02-25 05:21 obones Status new => feedback
2005-02-25 08:13 foxy Note Added: 0006587
2006-03-30 05:22 obones Note Added: 0008750
2006-03-30 05:22 obones Status feedback => confirmed
2006-04-05 01:17 obones Status confirmed => resolved
2006-04-05 01:17 obones Resolution open => fixed
2006-04-05 01:17 obones Assigned To => obones
2006-04-05 01:17 obones Note Added: 0008924


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker