Przypisanie czcionki

  • Rejestracja: dni
  • Ostatnio: dni
0

Mam zadeklarowany rekord:

Kopiuj
 
type
  PWirtualnyRekord = ^TWirtualnyRekord;
  TWirtualnyRekord = record
    Caption : WideString;
    Hint    : WideString;
    Typ     : Byte;
    Color   : TColor;
    Wysokosc: Integer;
    Czcionka: TFont;
end;

Wypełniam go tak :
TempDane^.Hint := DS_Typ1.FieldByName('Hint').Value;
I tak działa.

Ale kiedy próbuję w ten sam sposób podstawić czcionkę lub rozmiar czcionki:

Kopiuj
TempDane^.Czcionka.Name := 'Tahoma';
TempDane^.Czcionka.Size := 16;

Dostaję AccesViolation.
Dlaczego ?
Czy czcionkę trzeba inaczej obsługiwać ?

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Może się mylę, ale spróbuj:

Kopiuj
New(TempDane^.Czcionka);

I dopiero potem, chociaż już po woli przestaję kojarzyć, więc w razie pomyłki, nie krzycz ;-)

Misiekd
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7923
0
Pele2 napisał(a)

Ale kiedy próbuję w ten sam sposób podstawić czcionkę lub rozmiar czcionki:

Kopiuj
TempDane^.Czcionka.Name := 'Tahoma';
TempDane^.Czcionka.Size := 16;

Dostaję AccesViolation.
Dlaczego ?
Czy czcionkę trzeba inaczej obsługiwać ?

a stworzyłeś obiekt czcionka??

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.