Witam, przeszukalem 4p (i na googlach troche)ale nie znalazlem nic co by mi pomoglo.
Otoz mam taki zmienny rekord, wskaznik do niego i tablice dynamiczna tych wsk:

TRecZmienna = record
    Nazwa : String[255] ;
    Zakres : Integer ;
    case Rodzaj : Byte of
      0 : (WartoscI : Integer) ;
      1 : (WartoscR : Real) ;
      2 : (WartoscS : String[255]) ;
    end ;
    PRecZmienna = ^TRecZmienna ;

     var
          zmienne : array of ^PRecZmienna ;

i mam funkcje, ktora powieksz mi owa tablice:

function TInterpreter.DodajZmienna(RodzajZ : Integer ; NazwaZ : String) : Boolean ;
var
  i : Integer ;
begin
  Result := true ;
  if zmienne = nil then SetLength(zmienne , 1)
  else SetLength(zmienne , High(zmienne) + 2) ;
  New(zmienne[High(zmienne)]) ;

  zmienne[High(zmienne)]^.Nazwa := NazwaZ ;
  zmienne[High(zmienne)]^.Rodzaj := RodzajZ ;
  WpiszWartosc(zmienne[High(zmienne)]^) ;
end ;

I teraz mam taki problem, ze zamiast w Nazwa pojawiac sie tekst z NazwaZ sa jakies krzaki i inne rzeczy, a nie moj tekst. Kumpel mi powiedzial, ze musze dac FillChar dla calego nowo tworzonego rekordu, wstawilem:

FillChar(zmienne[High(zmienne)]^ , SizeOf(zmienne[High(zmienne)]^) , 0) ; 

zaraz po New, ale teraz jest AV(debuggerem sprawdzilem, ze w linijce, w ktorej do Nazwa chce wpisac NazwaZ), probowlem roznych kombinacji, samego FillChar dla Nazwa i roznyuch innych mniej lub bardziej dziwnych sposobow :P ale nic nie pomoglo. Co w takim razie zrobic zeby poprawnie dzialalo, nie bylo AV'ow i teskt w Nazwa byl taki jak NazwaZ?