是你自定义的吧????
_______________________________________________________________多多交流 共同进步
[email protected]
http://nizvoo.myrice.com
_______________________________________________________________
_______________________________________________________________多多交流 共同进步
[email protected]
http://nizvoo.myrice.com
_______________________________________________________________
http://www.csdn.net/expert/Topic/9/9132.shtm
你肯定是没有 use 定义 TDllProcedure 的单元
我想也是没有用什么单元但是查不出来,用F1也查不到相关TDllProcedure的信息,我试着加了comserv单元也没有用,不知为什么//*********************************************************
使用regserver会出现一个DOS窗口,显得很不雅,还是最好使用下面的函数(经过测试,没有问题),思想是调用Com DLL中的DllRegisterServer函数来完成自注册。
function RegisterDll(strDllPath : string) : boolean;
var
hLib : THandle;
lpFunc : TDllProcedure;
strName : string;
begin
strName := strDllPath; hLib := LoadLibraryEx(pChar(strName), 0,LOAD_WITH_ALTERED_SEARCH_PATH);
if hLib = 0 then
begin
result := false;
exit;
end; try
lpFunc := GetProcAddress( hLib, 'DllRegisterServer' );
if not Assigned(lpFunc) then
begin
result := false;
exit;
end; lpFunc;
result := true;
finally
FreeLibrary( hLib );
end;
end;
我怎么好象没有见过,你直接定义成函数形式就可以了,参数要和 'DllRegisterServer' 的参数一致