编写Dll入口函数的问题(100分)

  • 主题发起人 主题发起人 jianlei
  • 开始时间 开始时间
J

jianlei

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure DLLEntryPoint(tag:DWord);<br>begin<br> &nbsp;case tag of<br> &nbsp; &nbsp;DLL_PROCESS_ATTACH: showmessage('调用DLL文件...');<br> &nbsp; &nbsp;DLL_PROCESS_DETACH: showmessage('释放DLL文件...');<br> &nbsp; &nbsp;DLL_THREAD_ATTACH: &nbsp;showmessage('创建一个新的线程...');<br> &nbsp; &nbsp;DLL_THREAD_DETACH: &nbsp;showmessage('释放一个线程...');<br> &nbsp;end;<br>end;<br><br>begin<br> &nbsp;DllProc:=@DLLEntryPoint;<br> &nbsp;DLLEntryPoint(DLL_PROCESS_ATTACH);<br>end.<br>这样写在调用DLL文件时到是显示“'调用DLL文件...”的信息<br>但如何显示其它三个信息<br>请指点
 
我只知道第二个,加一句 ExitProc:= @DLLEntryPoint;应该可以得到,ExitProc是dll出口函数地址,delphi有定义
 
上面的问题,我试过了,可以不指定ExitProc,在FreeLibrary时,会自动用DLL_PROCESS_DETACH: showmessage('释放DLL文件...');<br>另外一个问题:<br><br>int getaddrinfo(<br> &nbsp;const TCHAR* nodename,<br> &nbsp;const TCHAR* servname,<br> &nbsp;const struct addrinfo* hints,<br> &nbsp;struct addrinfo** res<br>);<br><br>void freeaddrinfo(<br> &nbsp;struct addrinfo* ai<br>);<br><br>在Delphi中怎么使用它呢
 
DLL没怎么用..<br>后面的问题你可以自己定义一个记录集来转换.<br>type getaddrinfo = Record <br> &nbsp; const PChar^ nodename;(我没试过.你自己试试)<br> &nbsp; ...... &nbsp; <br>end;
 
GetAddrInfo与FreeAddrInfo是Ws2_32.Dll中的API,我看到API就怕呀~~~
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部