Fehlermeldung bei Polygon

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
jornbyte
Beiträge: 36
Registriert: Di 14. Nov 2006, 10:15
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Hohenstein - Er.

Fehlermeldung bei Polygon

Beitrag von jornbyte »

Habe ich es nicht gesagt, hier kommt meine nächste Frage.
Ich habe 3 Formen. In Form1 läuft ein Timer, darin steht

Code: Alles auswählen

VAR
P : array [0..2] of TPoint;

Nun kommt eine menge bla bla und die Zeilen:

Code: Alles auswählen

Canvas.Pen.Color   := clBlack;
  Canvas.Pen.Width   := 5;
  P[0] := Point(180|,50);      //  |..da wird der Fehler angezeigt, wurde zu verdeutlichung eingefügt
  P[1] := Point(50,180);
  P[2] := Point(310,180);
  Canvas.Polygon(P);


Nun bekomme ich beim Kompilieren die Meldung:
volumen.pas(806,20) Fatal: Syntax error, ")" expected but "," found
Der Witz ist, in Form2 und 3 geht das. Nun habe ich auch mal den Spass in der Form verteilt, also bei den Buttons..., habe auch mal einige Teile "REM" gemacht ({ganze Blöcke}) , die Fehlermeldung bleibt in Form1 bestehen. Könnte synaser den Fehler verursachen?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

hast du irgendwo ne point funktion?
nimm mal deklaration finden auf point und schau wo du landest
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

jornbyte
Beiträge: 36
Registriert: Di 14. Nov 2006, 10:15
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Hohenstein - Er.

Beitrag von jornbyte »

Da lande ich in der struct.inc bei
POINT = record
x : LONG;
y : LONG;
end;

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Da solltest du aber bei classesh.inc landen.
function Point(AX, AY: Integer): TPoint;

Schreib Classes.Point(50,180); oder schieb die Classes weiter nach hinten in "uses".

jornbyte
Beiträge: 36
Registriert: Di 14. Nov 2006, 10:15
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Hohenstein - Er.

Beitrag von jornbyte »

Also das ding mit der "Classes." klapp wunderbar. Danke euch.
Bis zur nächsten Frage....

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

jornbyte hat geschrieben:Also das ding mit der "Classes." klapp wunderbar. Danke euch.
Bis zur nächsten Frage....


Das Problemchen gibt's immer mal wieder. Es ist so, dass wenn zwei oder mehr eingebunde Units etwas gleichnamiges deklarieren, immer die "hinterste" Variante in "uses" genommen wird:

z.B.
uses Classes, SonstNeUnit;
Dann wird in deinem Beispiel Point aus SonstNeUnit genommen, was dann falsch sein kann.
So :
uses SonstNeUnit, Classes;
So wird das Point aus Classes genommen.

Mit SonstNeUnit.Point oder Classes.Point kann man's aber selber bestimmen.

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

kann man denn irgendwie einstellen, das der einen darauf hinweist? :shock:

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Tut er ja! Der Compiler schreit!
Ausserdem wenn du mit der Maus über so einen Bezeichner zeigst, siehst du in welcher Unit er den sucht.

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

aso

Antworten