喫茶XRAYトップページ

[スレッド全体
]

[11458] DLLの関数に文字列を渡す返信 削除
2017/10/15 (日) 21:08:53 Mr.XRAY
DLL の関数を作成して,その関数で,DLL 側で文字列を受け取る時は,
基本的には PChar 型にしておいた方が無難です.
以下は簡単な例です.
動作確認は Windows 7 U64(SP1) + Delphi XE(UP1) Pro です.

[参考]
[889] [08_DLL 内の関数で外部に文字列を渡す]
http://mrxray.on.coocan.jp/Delphi/plSamples/889_VCLStyleResource.htm#08


//----------------- DLLの全コード-----------------------------------------
// ファイル名は DllTest_PChar.dpr

library DllTest_PChar;

uses
  Windows,
  SysUtils,
  Dialogs;

function SetText2Dll(Buff: PChar):Bool; stdcall;
var
  LText : string;
begin
  LText := string(Buff);
  ShowMessage(LText);
  Result := True;
end;

exports
  SetText2Dll;

end.


//----------------- テスト側のコード ------------------------------------------

implementation

{$R *.dfm}

function SetText2Dll(Buff: PChar):Bool; stdcall; external 'DllTest_PChar.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := BoolToStr(SetText2Dll('日本語'));
end;


[11494] Re:DLLの関数に文字列を渡す返信 削除
2017/10/21 (土) 16:24:19 Mr.XRAY

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82