Exporting classes and interfaces from DLL

Yossarian xtauer01 at stud.fit.vutbr.cz
Wed May 14 00:51:42 PDT 2008


According to documentation, I inserted it as a new bug.


Dne Wed, 14 May 2008 01:08:35 +0200 Yossarian <xtauer01 at stud.fit.vutbr.cz>  
napsal/-a:

> 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/



-- 
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