I define one class in files:

declaration in file baseclass.hhf:
type
PBaseClass: pointer to TBaseClass;
TBaseClass: class;
method TestMethod; @external;
endclass;

and implementation in file baseclass.hla

#includeonce("baseclass.hhf")
readonly
VMT(TBaseClass);

method TBaseClass.TestMethod;
@noframe;
begin TestMethod;
ret();
end TestMethod;

I define a second class:
declaration in dervclass.hhf:

#includeonce("baseclass.hhf")
type
PDervClass: pointer to TDervClass;
TDervClass: class inherits (TBaseClass);
procedure TestProc; @external;
endclass;

and implementation in dervclass.hla:
#includeonce("dervclass.hhf")
readonly
VMT(TDervClass);

procedure TDervClass.TestProc;
@nodisplay; @nostackalign;
begin TestProc;
xor(eax,eax);
end TestProc;

then when I compile this with HLA i have a message:

Assembling: Tmp\dervclass.asm
Tmp\dervclass.ro.inc(2) : error A2006: undefined symbol : TBaseClass_TestMethod
Error returned by Assembler = 1

I think the problem is raised because this classes defined in different files
and statement: VMT(TDervClass) produces a code:
_VMT_TDervClass___hla_ label dword
dword offset32 TBaseClass_TestMethod
and TBaseClass_TestMethod not listed in externdef declarations in file dervclass.extpub.inc
Posted on 2003-10-24 02:32:40 by Elohim Meth

then when I compile this with HLA i have a message:

Assembling: Tmp\dervclass.asm
Tmp\dervclass.ro.inc(2) : error A2006: undefined symbol : TBaseClass_TestMethod
Error returned by Assembler = 1

I think the problem is raised because this classes defined in different files
and statement: VMT(TDervClass) produces a code:
_VMT_TDervClass___hla_ label dword
dword offset32 TBaseClass_TestMethod
and TBaseClass_TestMethod not listed in externdef declarations in file dervclass.extpub.inc


I think that this problem is related to the last problem you posted (which I fixed) because my current version of HLA (v1.59, though not yet released) compiles this code just fine. I'm hoping to release HLA v1.59 within the week.

Cheers,
Randy Hyde
Posted on 2003-10-24 10:33:42 by rhyde
Thanks a lot Mr.Randall!
I've downloaded HLA 1.59 and all examples i sent earlier works perfectly!
Posted on 2003-10-31 08:02:57 by Elohim Meth