Bueno, como nadie me contesto, pues ya lo consegui arreglar yo a base de matarme la cabeza. El problema es el siguiente :
En una DLL los componentes COM no se inicializan de manera implicita como lo hacen en un ejecutable, por ello cuando invocamos componentes ActiveX desde dentro de una DLL, estos no estan inicializados.
La manera de solcucionarlo es la siguiente:
En el codigo que se ejecuta directamente al iniciar una DLL, en mi caso una Unit tenemos que agregar al Uses la importacion ==>
ActiveX
Y a mayores generar un bloque de
inizialitation con la sentencia al principio de todo:
CoInitialize(nil);
De esta manera se inicializaran los ActiveX y podremos utilizarlos de la manera normal.
unit UnitDll
uses SysUtils, SOAPHTTPTrans, ActiveX;
interface
//lo que sea
implementation
//la implementacion de lo que sea
initialization
CoInitialize(nil);
end.
Espero haber sido de ayuda.
Un Saludin.