Ciao, ho un form in delphi per .NET, devo richiamare una DLL fatta in delphi per win32.
la mia procedure richiamata nel form è di questo tipo:
codice:
procedure CARD_TO_S(var input:cardinal, var output:string) cdecl;external 'STRMANAGEMENT.DLL'
nella DLL invece :
codice:
procedure CARD_TO_S(var input:cardinal; var output:PWideChar); cdecl; export;
var appo:String;
var len:Integer;
begin
appo:=IntToStr(input);
len:=Length(appo);
StringToWideChar(appo,output,len+1);
end;
Il problema è che quando faccio la chiamata alla procedura, devo per forza inizializzare obbligatoriamente la variabile output, altrimenti ricevo un errore run time di access violation. In questo modo
codice:
HOURS:='';
CARD_TO_S(HH,HOURS);
Come mai? E' possibile risolvere il problema senza per forza doverla inizializzare? Grazie