Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Inkompatible Typen Fehler? (https://www.delphipraxis.net/110697-inkompatible-typen-fehler.html)

mr.winkle 22. Mär 2008 20:25


Inkompatible Typen Fehler?
 
Hallo Leute,
ich habe ein Problem mit anscheinend als inkompatibel betrachteten Typen. Meine Deklaration sieht wie folgt aus:
Delphi-Quellcode:
  tpl = record
    index    :integer;
    farbe    :tcolor;
    zuparken :string;
    a        :array of tpoint;
  end;

  tfl = record
    index :integer;
    farbe :tcolor;
    a    :array of tpoint;
  end;

  tlevel = record
    s:   string;
    pl   :array of tpl;
    fl   :array of tfl;
    bg   :tcolor;
  end;

var
  Form2: TForm2;
  lvl:tlevel;
  buf:array of tpoint;
und weiter unten verweigert mir der Compiler nun folgendes:
Delphi-Quellcode:
procedure TForm2.rb1Click(Sender: TObject);
begin
  if rb3.Checked then
    begin
    setlength(lvl.fl,length(lvl.fl)+1);
    lvl.fl[high(lvl.fl)].a:=buf;
    end;

  setlength(buf,0);
  zeichnen;
end;
Warum? Und wie kann ich das beheben?
Benutze Delphi 7.

mfg, mr.winkle

Fussball-Robby 22. Mär 2008 20:29

Re: Inkompatible Typen Fehler?
 
In welcher Zeile tritt der Fehler denn auf bzw. wird irgendetwas darüber gesagt welche typen inkompatibel sind?

Mfg

mkinzler 22. Mär 2008 20:30

Re: Inkompatible Typen Fehler?
 
Delphi-Quellcode:
TTpArray = array of tpoint;;
tpl = record
    index    :integer;
    farbe    :tcolor;
    zuparken :string;
    a        :TTpArray;
  end;

  tfl = record
    index :integer;
    farbe :tcolor;
    a    :TTpArray;
  end;

  tlevel = record
    s:   string;
    pl   :array of tpl;
    fl   :array of tfl;
    bg   :tcolor;
  end;

var
  Form2: TForm2;
  lvl:tlevel;
  buf:TTpArray;

mr.winkle 22. Mär 2008 20:35

Re: Inkompatible Typen Fehler?
 
Okay, danke! :-D
So hats funktioniert, hät ich auch mal selber versuchen können, sorry.

mfg, mr.winkle

mkinzler 22. Mär 2008 20:37

Re: Inkompatible Typen Fehler?
 
Delphi erkennt Typen leider nur anhand des Namens und nicht am eigentlichen Format.

RavenIV 25. Mär 2008 08:39

Re: Inkompatible Typen Fehler?
 
Zitat:

Zitat von mkinzler
Delphi erkennt Typen leider nur anhand des Namens und nicht am eigentlichen Format.

Extremer ist es noch, wenn man in zwei Units den Typ TMyVar mit gleichem Namen und gleichem Aufbau (z.B. Array oder Record) definiert und dann diesen Fehler um die Ohren gehauen bekommt.
Da bin ich Anfangs auch immer wieder darüber gestolpert. Dann hab ich mir angewöhnt, alle Typen in einer Definitions-Unit zu definieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz