Exporting classes and interfaces from DLL

Yossarian xtauer01 at stud.fit.vutbr.cz
Tue May 13 16:08:35 PDT 2008


Hi, I've got following problem:
I have interface, with some defined functions, + some another classes  
derived from it in EXE ( kind of Variant type ).

class iObject { }
class integerConst : iObject { }
class stringConst : iObject { }
final export T as(T)(iObject n) { if (cast(T)(n) == null) throw new  
exception; return (cast(T)(n)); }

I want to make plugin interface - and to export these classes to it. When  
i statically link the DLL code with
my interface code, the DLL's string isn't the same as EXE's string.
(Another problem is, that the exception thrown from DLL isn't catched in  
EXE, but falls through and program crashes, but never mind)

So, I moved all of the interface code into new DLL, and link my plugina  
and EXE against it.
And there comes the problem :

export class integerConst : iObject { } -> doesn't export anything.
When I export all of the (public) function, there still remains some  
other, which are hidden,
is there any way how to export them, or with these classes I should say  
goodbye to plugins?


error:
..\debug\gx.obj(gx)
  Error 42: Symbol Undefined _D4ghhd7iobject7iObject7__ClassZ
..\debug\gx.obj(gx)
  Error 42: Symbol Undefined _D4ghhd7iobject8__assertFiZv
..\debug\gx.obj(gx)
  Error 42: Symbol Undefined _D4ghhd7iobject7__arrayZ
..\debug\gx.obj(gx)
  Error 42: Symbol Undefined _D4ghhd12integerConst12integerConst7__ClassZ

_D4ghhd12integerConst12integerConst7__ClassZ
_D4ghhd7iobject7iObject7__ClassZ
are maybe for comparing/casting, and I can avoid it with some ugly method,  
but this isn't what i want.

Thanks, and sorry for my bad english
-- Yossarian
Tato zpráva byla vytvořena převratným poštovním klientem Opery:  
http://www.opera.com/mail/



More information about the Digitalmars-d mailing list