一个Exe程序,分别调用DLL A.DLL和B.DLL
A.DLL中分别窗体TFORMA,B.DLL中含窗体TFORMB,TFORMA和TFORMB都继承自父窗体TFORMP,
TFORMA和TFORMB在各自的pas文件中都在iniliation中用RegisterClass方法进行了注册,
在exe程序中已经调用了A.DLL,再调用B.DLL时错误提示:a class named tformp is already exist!
请问这个问题如何解决?

解决方案 »

  1.   

    bat1.bat:
    for %%a in (BAT1.bat) do echo hha %%aftp.txt
    open ip
    user
    password
    bye
      

  2.   

    有二个解决方案:
    一、自己写一套替换RegisterClass的注册机制;
    二、将基类放到BPL中,在包中注册基类,这最简单了
      

  3.   

    king_xing :
    1。替换RegisterClass的注册机制这个不会,
    2。将基类放到BPL中,在包中注册基类,我建了一个bpl,在里面用registerclass对基类注册,在exe中
    把bpl打包,但是依然提示基类已经存在,我那里做的不对?
      

  4.   

    不好意思,刚才并没有带包编译,在bpl中的确是解决了类已经注册的问题,谢谢!