![]() |
Delphi-Version: 2010
TPoint wird als (0,0) übergeben, abhängig vom Variablennamen
Also ich habe das Problem, dass ein TPoint als (0,0) übergeben wird, wenn die Variable, die als Parameter übergeben wird, einen bestimmten Namen hat. Die aufgerufene Prozedur ist in einer anderen Unit wie folgt deklariert:
Delphi-Quellcode:
procedure SetzeGroesse2(X1, X2: TPoint);
Das Ändern der Namen der aufgerufenen Prozedur und ihrer Parameter oder eine komplett neue Erzeugung brachten keine Lösung. In der aufrufenden Unit ist kein anderer Bezeichner namens P1 vorhanden. Ich war nicht in der Lage, ein Minimalbeispiel zu erstellen. Vielleicht steh ich auf dem Schlauch - oder ich hab einen Bug im Compiler gefunden...
Delphi-Quellcode:
Ich weiß aus dem Debugger, dass P1 in der aufrufenden Prozedur nicht (0,0) ist, aber in der aufgerufenen Prozedur ist er (0,0).
procedure TFrameKonstruktion.ZeichnenSetzeEndpunkt(P: TPoint);
var P1: TPoint; begin P1 := ZeichenpunktStart; // hier sollen später noch einige weitere Transformationen mit P1 durchgeführt werden with TLinie.Create(Fenster.Zeichenobjekte, AktuellesZeichenformat) do SetzeGroesse2(P1, P); // übergibt (0,0), (P.X, P.Y) end; Folgende Syntaxen funktionieren hingegen:
Delphi-Quellcode:
procedure TFrameKonstruktion.ZeichnenSetzeEndpunkt(P: TPoint);
var P0: TPoint; begin P0 := ZeichenpunktStart; // hier sollen später noch einige weitere Transformationen mit P0 durchgeführt werden with TLinie.Create(Fenster.Zeichenobjekte, AktuellesZeichenformat) do SetzeGroesse2(P0, P); // übergibt (P0.X, P0.Y), (P.X, P.Y) end;
Delphi-Quellcode:
procedure TFrameKonstruktion.ZeichnenSetzeEndpunkt(P: TPoint);
begin with TLinie.Create(Fenster.Zeichenobjekte, AktuellesZeichenformat) do SetzeGroesse2(ZeichenpunktStart, P); // übergibt (ZeichenpunktStart.X, ZeichenpunktStart.Y), (P.X, P.Y) end; |
AW: TPoint wird als (0,0) übergeben, abhängig vom Variablennamen
Wahrscheinlich gibt es im Objekt TLinie eine Eigenschaft/Feld mit dem Namen P1. Verzichte auf with ... do, um solche Probleme zu vermeiden.
...:cat:... |
AW: TPoint wird als (0,0) übergeben, abhängig vom Variablennamen
Danke, die sind wohl versehentlich ins public gerutscht. :oops:
|
AW: TPoint wird als (0,0) übergeben, abhängig vom Variablennamen
Delphi-Quellcode:
ist tödlicher als
With
Delphi-Quellcode:
...
Goto
Sherlock |
AW: TPoint wird als (0,0) übergeben, abhängig vom Variablennamen
Zitat:
...:cat:... |
AW: TPoint wird als (0,0) übergeben, abhängig vom Variablennamen
Zitat:
Delphi-Quellcode:
über
if mybool=true then ...
Delphi-Quellcode:
und
with
Delphi-Quellcode:
bis zur Verwendung von vis. Komponenten zur Datenhaltung.
goto
Gruß K-H |
AW: TPoint wird als (0,0) übergeben, abhängig vom Variablennamen
Nicht zu vergessen der Eintrag, dass man FAQs lesen sollte.
|
AW: TPoint wird als (0,0) übergeben, abhängig vom Variablennamen
Zitat:
Und zusätzlich sollte man bei sowas immer zuerst gucken, ob man auch die richtigen Variablen/Felder bekommt. (Code-Insight und Co. verraten einem das ja) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz