Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Variablen werden nicht korrekt übergeben... (https://www.delphipraxis.net/15321-variablen-werden-nicht-korrekt-uebergeben.html)

NeoXan 26. Jan 2004 14:29


Variablen werden nicht korrekt übergeben...
 
Hier wird ein Array übergeben...
pt[1].X & pt[1].Y
stimmen auch...aber pt[2] ist totaler hunmbug (also zahlen der was-weiß-ich wie viel stellig)
Was mache ich falsch?

Delphi-Quellcode:
type
 CPoints = record
  X : Integer;
  Y : Integer;
 end;

var
 THEpt : array[1..2] of CPoints;

 THEpt[1].X := 100;
 THEpt[1].Y := 280;
 THEpt[2].X := 10;
 THEpt[2].Y := 0;
 DrawLines(THEpt,imgMain);

procedure DrawLines(pt: array of CPoints; img: TImage);
begin
 img.Canvas.MoveTo(pt[1].X,pt[1].Y);
 img.Canvas.LineTo(pt[2].X,pt[2].Y);

 img.Canvas.TextOut(10,50,
 'PT[1]X> '+IntToStr(pt[1].X)+' '+
 'PT[1]Y> '+IntToStr(pt[1].Y)+' '+
 'PT[2]X> '+IntToStr(pt[2].X)+' '+
 'PT[2]Y> '+IntToStr(pt[2].Y));
end;

Schubi 26. Jan 2004 14:47

Re: Variablen werden nicht korrekt übergeben...
 
Also wenn da ne Steile Kurve rauskommen soll, dann gehts bei mir.

Wo hast du das Array definiert?
Das geht aus deinem Codeschnipsel net hervor. Solltest du oben nach type gleich unter Form1 = TForm1 machen

OK; anscheinend is des Falsch...Gute Frage, warum!!!

jlanger 26. Jan 2004 14:53

Re: Variablen werden nicht korrekt übergeben...
 
Ändere mal :

Delphi-Quellcode:
img.Canvas.MoveTo(pt[1].X,pt[1].Y);
img.Canvas.LineTo(pt[2].X,pt[2].Y);

img.Canvas.TextOut(10,50,
'PT[1]X> '+IntToStr(pt[1].X)+' '+ 
'PT[1]Y> '+IntToStr(pt[1].Y)+' '+ 
'PT[2]X> '+IntToStr(pt[2].X)+' '+ 
'PT[2]Y> '+IntToStr(pt[2].Y));
in

Delphi-Quellcode:
img.Canvas.MoveTo(pt[0].X,pt[0].Y);
img.Canvas.LineTo(pt[1].X,pt[1].Y);

img.Canvas.TextOut(10,50,
'PT[1]X> '+IntToStr(pt[0].X)+' '+ 
'PT[1]Y> '+IntToStr(pt[0].Y)+' '+ 
'PT[2]X> '+IntToStr(pt[1].X)+' '+ 
'PT[2]Y> '+IntToStr(pt[1].Y));

Schubi 26. Jan 2004 15:10

Re: Variablen werden nicht korrekt übergeben...
 
AUA!
Ich zerkloppe mir hier die Rübe, dabei isses so einfach... :wall: :wall: :wall:

Chris1986 26. Jan 2004 15:49

Re: Variablen werden nicht korrekt übergeben...
 
Hi,
wäre es nicht einfacher einen type als Array zu definieren und eine Variable des types in den procedures zu übergeben . . .?
So habe ich das jedenfalls im Info-Unterricht gelernt :lol:

Schubi 26. Jan 2004 16:58

Re: Variablen werden nicht korrekt übergeben...
 
Wäre auf jeden Fall einfacher, aber man will ja nicht das ganze Programm über den haufen werfen. Das war die Lösung für Faule :mrgreen:

SirThornberry 26. Jan 2004 17:04

Re: Variablen werden nicht korrekt übergeben...
 
Naja, so find ichs schon übersichtlicher als wenn ich dann den source erstmal durchsuchen muss wie der typ deklariert ist


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:49 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