| Autor |
Beitrag |
newerd
Hält's aus hier
Beiträge: 5
|
Verfasst: Fr 27.03.09 09:06
Moin!
Hab ein Problem, ich will etwas mit einer Paintbox darstellen und nutze zum Zugriff auf diese eine ausgelagerte Prozedur...
Jetzt zeigt er mir an, dass pbox1. ein undefinierter Bezeichner ist. Ich kann also nicht auf das Forumlar zugreifen?!
Hat jemand eine Lösung?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure ani; begin while AnzDurchgange > 0 do begin xAktExt:=xAktExt+SummandX; yAktExt:=yAktExt+SummandY; xAkt:=round(xAktExt); yAkt:=round(yAktExt); pbox1.Canvas.Draw(xAkt,yAkt,kugel); dec(AnzDurchgange); end; |
Moderiert von Gausi: Delphi-Tags hinzugefügt
Moderiert von Gausi: B- durch Highlight-Tags ersetzt
|
|
ene
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: Fr 27.03.09 09:13
Wenn du in einer anderen Unit arbeitest, weiß diese nichts vom Formular.
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
newerd 
Hält's aus hier
Beiträge: 5
|
Verfasst: Fr 27.03.09 09:18
die Prozedur ist noch in der Unit1. "Ausgelagert" war vielleicht schlecht gewählt. Also ist einfach eine selbstgeschrieben untergeordnete Prozedur, die mehrmals in einer übergeordneten aufgerufen wird.
|
|
ene
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: Fr 27.03.09 09:24
Also keine Prozedur innerhalb einer anderen, sondern in der Unit des Formulars?
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
newerd 
Hält's aus hier
Beiträge: 5
|
Verfasst: Fr 27.03.09 09:26
genau.
hab das Problem gelöst!
musste einfach nur Form1. davor schreiben! ;D
Trotzdem danke für die schnelle Antwort!
|
|
ene
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: Fr 27.03.09 09:30
Oder du deklarierst die Prozedur im Type des Forms und nennst die dann Form.Prozedur und brauchst kein Form mehr vor das Objekt zu schreiben. Ist halt eine Frage der Referenzierung. 
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Fr 27.03.09 09:36
newerd hat folgendes geschrieben : | hab das Problem gelöst!
|
hab das Problem gelöst? Du meinst eher "habe mir das Problem lösen lassen", oder?
Finde das schon frech, wenn du in der DP www.delphipraxis.net...gerter+prozedur.html das auch fragst und die Lösung dort hier mehr oder weniger als deine eigene verkaufst.
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Fr 27.03.09 16:00
noch ein Vorschlag:
procedure ani(DestCanvas:TCanvas);
begin
while AnzDurchgange > 0 do
begin
xAktExt:=xAktExt+SummandX;
yAktExt:=yAktExt+SummandY;
xAkt:=round(xAktExt);
yAkt:=round(yAktExt);
DestCanvas.Draw(xAkt,yAkt,kugel);
dec(AnzDurchgange);
end;
|
|
Bob Murphy
      
Beiträge: 91
XP, Ubuntu
Delphi 7 SE, Delphi 2007
|
Verfasst: Fr 27.03.09 16:27
|
|