var
order: Integer;
txt: PChar;
PFunc: TFarProc;
Moudle: THandle;
begin
Moudle := Loadlibrary('c:\dlls\example.dll');
if Moudle > 32 then
begin
 Edit2.text := '';
 Pfunc := GetProcAddress(Moudle,'Instr');
 txt := StrAlloc(80);
 txt := StrPCopy(txt,Edit1.text);
 Order := TInstr(PFunc)(txt,Key);
     if Order = -1 then
         Label1.Caption := '不包含这个字符 '
     else
         Label1.Caption := '位于第'+IntToStr(Order+1)+'位';
     end;
 Freelibrary(Moudle);
是不是这些就可以了?

解决方案 »

  1.   

    TChangeCode = function (sCode : String) : Integer; stdcall; //在单元里声明一个事件。
    var
      LHandle : THandle;
      ChangeCode : TChangeCode;
    全局变量。
    以下是调用
    ///////////////////////////////////////////////////
          LHandle := LoadLibrary('fcfwrunt.dll');
          try
            if LHandle = 0 then
              showmessage('转换文件已丢失!');
            @ChangeCode := GetProcAddress(LHandle,'CodeSeq');
            if not (@ChangeCode = nil) then
            begin
              ChangeCode(edtFWM.Text); //调用DLL函数。
            end;
          finally
            FreeLibrary(LHandle);
          end;