L
linxiaovoc
Unregistered / Unconfirmed
GUEST, unregistred user!
比如说我在SOAP中动态装载一个动态链接库,
如以下语句:
function init():integer ;
var
Myhandle:integer;
begin
myhandle := loadlibrary('mypath/test.so');
if myhandle <> 0 then
Result := 1 ;
else result := 0 ;
end;
另外一个函数:
function print(bufchar):integer
begin
@printupper := GetProcAddress(myhandle,'printUpper'); //注意,此时myhandle是一个全局量
if @printUpper <> nil then
begin
printupper('aaaa');
result := 1;
end
else
result:= -1 ;
end
现在有一个客户端程序,两个按钮事件,一个按钮执服务器的init函数,另一个执行print函数
当执行了init函数后,服务器端的myhandle得到一个大于0的整型数,而另一个按钮执行print函数后
myhandle仍然为0,说明此时myhandle没有维持下来。
我个人的理解是SOAP服务器是一个CGI程序,他是由WEB服务器调用的,客户方发出请求,通过WEB服务器再
向他发请求,因此他将产生不同的运行实例。
那究竟要怎么维持下myhandle的值呢。?
如以下语句:
function init():integer ;
var
Myhandle:integer;
begin
myhandle := loadlibrary('mypath/test.so');
if myhandle <> 0 then
Result := 1 ;
else result := 0 ;
end;
另外一个函数:
function print(bufchar):integer
begin
@printupper := GetProcAddress(myhandle,'printUpper'); //注意,此时myhandle是一个全局量
if @printUpper <> nil then
begin
printupper('aaaa');
result := 1;
end
else
result:= -1 ;
end
现在有一个客户端程序,两个按钮事件,一个按钮执服务器的init函数,另一个执行print函数
当执行了init函数后,服务器端的myhandle得到一个大于0的整型数,而另一个按钮执行print函数后
myhandle仍然为0,说明此时myhandle没有维持下来。
我个人的理解是SOAP服务器是一个CGI程序,他是由WEB服务器调用的,客户方发出请求,通过WEB服务器再
向他发请求,因此他将产生不同的运行实例。
那究竟要怎么维持下myhandle的值呢。?