要写一个dll,不知道怎么实现。
比如宿主程序调用文件读写API函数时,
hangle1=openfile(文件1),read(hangdle1),close(hangdle1)
hangle2=openfile(文件2),read(hangdle2),close(hangdle2)
dll程序里要怎么写,才能管理这些句柄?也就是说同一个函数被分别调用而彼此不被干扰?
编程
比如宿主程序调用文件读写API函数时,
hangle1=openfile(文件1),read(hangdle1),close(hangdle1)
hangle2=openfile(文件2),read(hangdle2),close(hangdle2)
dll程序里要怎么写,才能管理这些句柄?也就是说同一个函数被分别调用而彼此不被干扰?
编程
function Read(Handle:HWND):string;
procedure Close(Handle:HWND);是这样么。。
OpenFile函数里怎么保持这个HWND?当read函数被调用时,使用到OpenFile函数分配的HWND?
比方说:
我定义两个全局变量A1,A2
函数为:
F(Handle:HWND;X:long):long;
begin
if Handle=1 then A1:=A1+x;
if Handle=2 then A2:=A2+x;
end
当然函数的功能不是怎么简单,我就是要达到这样的效果。问题是我不可能事先定义好很多个A1、A2、A3......啊。
难道要用多线程吗?
show(Handle:HWND):long
begin
if Handle=1 then Result:=A1;
if Handle=2 then Result:=A2;end
最后使用全局Tlist来保存信息,多次调用时找出相应的Tlist[index]来处理