سلام بچه ها
من یه DLL ساختم اینجوری:
Procedure GetMainBoardSerial(Var S:PChar);STDCall;
Var Bios:TSMBios;
Begin
Bios:=TsmBios.Create;
bios.GetInfo;
S:=PChar(Bios.MainBoardSerial);
Bios.Free;
End;
وقتی اونو اینجوری صدا میزنم خطای access violation میده:
procedure TForm1.Button1Click(Sender: TObject);
var s:PChar;
begin
GetMem(s,128);
GetMainBoardSerial(S);
FreeMem(s,128);
end;
رشته ای که برمیگردونه 10کاراکتر بیشتر نیست.
چیکار باید بکنم؟