掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TStringListとArray (ID:38090)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんなのどう? //EXE TSetArrayString = function (Memo: TMemo; Text: array of String): String;stdcall; TSetString = function (Memo: TMemo; Text: String): String;stdcall; TSetStringList= function (Memo: TMemo; Text: TStringList): String;stdcall; var Form1: TForm1; SetArrayString: TSetArrayString; SetString: TSetString; SetStringList: TSetStringList; hLib: THandle; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin hLib := LoadLibrary('dll_project1.dll'); if hLIB <> 0 then begin SetArrayString := TSetArrayString (GetProcAddress(hLib,'SetArrayString' )); SetString := TSetString (GetProcAddress(hLib,'SetString' )); SetStringList := TSetStringList (GetProcAddress(hLib,'SetStringList' )); end else begin Caption := 'NO DLL'; end; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if hLIB <> 0 then begin FreeLibrary(hLib); end; end; procedure TForm1.Button7Click(Sender: TObject); var S: String; R: String; begin S := 'SetString'; R := SetString(Memo1,S); Memo1.Lines.Add(R); end; procedure TForm1.Button8Click(Sender: TObject); var S: array[0..5] of String; R: String; begin S[0] := '000000'; S[1] := '111111'; S[2] := '222222'; S[3] := '333333'; S[4] := '444444'; S[5] := '555555'; R := SetArrayString(Memo1,S); Memo1.Lines.Add(R); end; procedure TForm1.Button9Click(Sender: TObject); var StringList: TStringList; R: String; S: String; begin StringList := TStringList.Create; StringList.Add('AAAAAAAAAAAAAAAAAAAAA'); StringList.Add('BBBBBBBBBBBBBBBBBBBBB'); StringList.Add('CCCCCCCCCCCCCCCCCCCCC'); StringList.Add(S); R := SetStringList(Memo1,StringList); Memo1.Lines.Add(R); StringList.Free; end; //DLL function SetArrayString(Memo: TMemo; Text: array of String): String;stdcall; var I: Integer; begin for I:=Low(Text) to High(Text) do begin Memo.Lines.Add(Text[I]); end; Result := 'SetArrayString Result String'; end; function SetString(Memo: TMemo;Text: String): String; stdcall; begin Memo.Lines.Add(Text); Result := 'SetString Result String'; end; function SetStringList(Memo: TMemo; StringList: TStringList): String; stdcall; var I: Integer; begin //Memo.Lines.Add(StringList.Text); for I := 0 to StringList.Count -1 do begin Memo.Lines.Add(StringList[I]); end; Result := 'SetStringList Result String'; end; exports SetArrayString,SetString,SetStringList; begin end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.