View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006420||JEDI VCL||00 JVCL Components||public||2015-07-21 20:56||2020-05-19 10:49|
|Target Version||Fixed in Version|
|Summary||0006420: Linker Error with C++ Builder 6.0|
|Description||[Linker Error] Unresolved external '__fastcall Jvexmask::TJvExCustomMaskEdit::PaintWindow(void *)' referenced from JVDBLABELEDSPINEDIT.OBJ|
C++ Builder 6.0 don't link this compinent file
|Additional Information||It seems to lack the procedure PaintWindow of the class TJvExCustomMaskEdit.|
But in the JvExMask.pas there is this procedure.
By editing JvExMask.hpp as reported it seems to be working properly; it is absent in the call to the base class.
|Tags||No tags attached.|
JvDBLabeledSpinEdit.zip (4,184 bytes)
||I'm sorry, but I can't find any JvDBLabeledSpinEdit file inside the current JVCL sources.|
Sorry for the imprecision.
The problem is not in the class (or file) JvDBLabeledSpinEdit but in the class TJvExCustomMaskEdit.
When the linker tries to find the function Jvexmask::TJvExCustomMaskEdit::PaintWindow(void *) is not even being present in the .pas file where the class was defined. I think the problem is due to a failure to recognize the call of the corresponding base class function. I solved the problem by rewriting imaginative the function in the file .hpp, automatically generated by the compiler, in the same way as the .pas file.
I hope I was comprehensive and useful.
Well, I'm sorry again, but PaintWindow is there at line 117 when I use the latest GIT content:
virtual void __fastcall PaintWindow(HDC DC);
Ok...And it is declared virtual so that in derived classes (as in my class JvDBLabeledSpinEdit) must be redefined. But in the file JvExMask.pas this function is not declared virtual and is implemented explicitly (defined in line 128 and implemented by line 630).
it is my fault, I'm missing something?
I hope I was helpful.
Thanks for your concern.
I had a look at the current content of JvExMasks.pas and it contains two classes:
Both these classes declare PaintWindow and both are using the override keyword, as appropriate because it is 'virtual' in their common ancestor.
I thus don't see any issue here.
|2015-07-21 20:56||Lucignolo||New Issue|
|2015-07-21 20:56||Lucignolo||File Added: JvDBLabeledSpinEdit.zip|
|2015-09-14 11:26||obones||Status||new => acknowledged|
|2015-09-14 14:15||obones||Note Added: 0021201|
|2015-09-14 14:15||obones||Status||acknowledged => feedback|
|2015-09-14 21:00||Lucignolo||Note Added: 0021205|
|2015-09-15 09:06||obones||Note Added: 0021208|
|2015-09-16 00:41||Lucignolo||Note Added: 0021211|
|2020-05-19 10:01||obones||Assigned To||=> obones|
|2020-05-19 10:01||obones||Status||feedback => acknowledged|
|2020-05-19 10:49||obones||Assigned To||obones =>|
|2020-05-19 10:49||obones||Status||acknowledged => feedback|
|2020-05-19 10:49||obones||Note Added: 0021929|