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