2009年5月29日

Delphi 寫 DLL 程式

在宣告中加入

function Echo(pw: PWideChar): PWideChar; stdcall; external 'Project2.dll';

在 Form Create 事件中加入

procedure TForm1.FormCreate(Sender: TObject);
var
w: PWideChar;
begin
w := PWideChar(UTF8Decode(#$E4#$BD#$A0#$E5#$A5#$BD)); // 你好 UTF-8
MessageBoxW(0, Echo(w), w, MB_OK);
end;

按【Ctrl + Alt + F11】 叫出 Project Manager
按右鍵 Add New Project...
New DLL Wizard
產生 library Project2
在 begin 之前加入

function Echo(pw: PWideChar): PWideChar; stdcall; export;
const
c: array[0..1] of WideChar = (WideChar($56DE), WideChar($50B3)); // 回傳 Unicode
var
w: WideString;
begin
w := c;
w := w + ': ' + pw;
Result := PWideChar(w);
end;

exports Echo;

編譯 Project2.dll 和 程式 Project1.exe
Project-> Bulid All Projects
執行 Project1.exe

沒有留言:

網誌存檔