首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

type xx = function(): string; stdcall;是什么意思解决方案

2013-09-28 
type xx function(): string stdcall是什么意思[解决办法]DLL动态调用就是这么弄的函数定位 @func :

type xx = function(): string; stdcall;是什么意思





[解决办法]
DLL动态调用就是这么弄的
函数定位 @func := yy('xx'); 
[解决办法]

定义了函数指针,多数用于动态库的调用场合;如下示例:

procedure TFrmFirewatcherDllTest.btnCmdStartTestClick(Sender: TObject);
type  pStartCmd=function (pbuff:PChar;nLen:Word):integer; stdcall;
var
  hDll:Cardinal;
  startCmd:pStartCmd;
  arrCmd:array [0..255] of Char;
  nLen:Word;
  i:Integer;
  str:string;
begin
  btnCmdStartTest.Enabled := False;
  hDll := LoadLibrary('..\SourceDLL\FirewatcherDLL.dll');
  try
    if hDll>32 then
    begin
      @startCmd := GetProcAddress( hDll,'START');
      if Assigned( startCmd ) then
      begin
        nlen :=  startCmd( arrCmd, 256 );
        for i:= 0 to nLen-1 do
        begin
          str := str +' '+ IntToHex( Ord(arrcmd[i]), 2 );
        end;
        Memo1.Lines.Add(IntToStr( Memo1.Lines.Count+1)+ ' 【开机】指令长度:'+inttostr(nLen)+ '; 指令数据:'+quotedstr( trim( str ) )       )
      end;
    end;

  finally
    FreeLibrary( hDll );
    btnCmdStartTest.Enabled := True;
  end;
end;

热点排行