String->pchar?

0

potrzebuje zrobic funkcje ktora bedzie zwaracala wartosc w pchar

zrobilem tak:

function proc(s1,s2:string):PChar;
var ss:string;
begin
with formus do begin
try
 Ini:= TIniFile.Create(filelistbox1.FileName);
 ss:=Ini.ReadString('procedures',s1,s2);
 if ss='' then ss:=s2;
 proc:=pchar(ss);
except end;
end;
end;

a potem :

messagebox(0,proc('ok850','ok'),'',0); <- i tu zamiast zwracac (stringa)tzn jakis text pkazuje mi kwadracik

0

bo jak robie messagebox(0,pchar(proc('ok850','ok')),'',0); to jest dobrze ale dla mnie to zadlugi text - potrzebuje by funkcja zwracala tak wartosc by messagebox dzialal bez pchar

0

A nie prościej tak:

procedure ShowMSG(s: string; z:string);
begin
  Messagebox(0, PCHAR(s, z)),'',0); 
end

I teraz np:

procedure Button1Click(Sender: TObject);
var
  a, b: string
begin
  a := 'Jakis tekst niezbyt mądry';
  b := 'I następny';
  ShowMSG(a, b);
end;

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