dll파일의 내용
______________________________________________________
<dllproject에서>
uses unit1 in 'unit1.pas';
exports fmexecute3 index 1;
<unit1에서>
interface
function fmexecute3(s:string):string;stdcall
implementation
functin fmexecute3(str1:string;str2:string):string;
begin
result:=str1 + str2;
end;
____________________________________________________________
dll사용하기
_________________________________________________________
<dlluse.unit>
interface
function(str1:string;str2:string):string;stdcall;
implementation
function fmexecute3;stdcall;external 'MyData.DLL'
폼에 버튼을 만들구 텍스트를 넘져주면.
buttonclick(~~~)
var
s1:string;
s2:string;
begin
s1:=edit1.text;
s2:=edit2.text;
edit3.text:=fmexecute3(s1,s2);
실행을 하면 에러가 나요. 'Invalid pointer operation' 왜 이런 에러가 날까요?
DLL 새로 만들면 여러줄에 걸친 주석있잖아요. 거기에 해답이 있는데...
uses절에 ShareMem유닛추가하세요. 그리고 DLL하나도 같이 배포해야 하는데...
DLL에서 리턴값으로 쓰실거라면 string형보다는 PChar형을 쓰시라고 권해드리고 싶네요...
^^ 항상 즐코하세요...