DLL, parametr wskaznik, EInvalidPointer

0

mam sobie procedure w DLL z parametrem typu Pointer; wiem ze nie moze byc jak parametr typ string tylko PChar albo ShortString

  • czy poza parametrami mozna uzywac stringi ??
    jezeli tak to co jest w kodach ponizej zle :

DLL

type
PWskStr = ^String;


procedure tekst2(wsk: PWskStr);
var
  test : PWskStr;
begin
  test^ := 'sdasd';
  wsk^ := test^;
end;

w kodzie programu

procedure TForm1.Button1Click(Sender: TObject);
var
  wsk: PWskStr;
begin
  new(wsk);
  tekst2(wsk);
  ShowMessage(wsk^);
  dispose(wsk);
end;

wyswietla ladnie co trza ale jest ten wyjatek dziwny EINvalidPointer
blagam o pomoc bo pilne

z gory dzieki

0

nie prościej

procedure tekst2(wsk: PChar);

:>

0

by bylo ok ale to tylko dla ciagow do dlugosci 2048 a ja potrzebuje dluzszy wiec dlatego kombinuje

1 użytkowników online, w tym zalogowanych: 0, gości: 1