Entwickler-Ecke

Sonstiges (Delphi) - Problem mit ausgelagerter Prozedur


newerd - Fr 27.03.09 09:06
Titel: Problem mit ausgelagerter Prozedur
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 user profile iconGausi: Delphi-Tags hinzugefügt
Moderiert von user profile iconGausi: B- durch Highlight-Tags ersetzt


ene - Fr 27.03.09 09:13

Wenn du in einer anderen Unit arbeitest, weiß diese nichts vom Formular.


newerd - 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 - Fr 27.03.09 09:24

Also keine Prozedur innerhalb einer anderen, sondern in der Unit des Formulars?


newerd - 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 - 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. ;)


Keldorn - Fr 27.03.09 09:36

user profile iconnewerd hat folgendes geschrieben Zum zitierten Posting springen:
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 http://www.delphipraxis.net/topic154938_problem+mit+ausgelagerter+prozedur.html das auch fragst und die Lösung dort hier mehr oder weniger als deine eigene verkaufst.


bummi - 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 - Fr 27.03.09 16:27

user profile iconKeldorn hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconnewerd hat folgendes geschrieben Zum zitierten Posting springen:
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 http://www.delphipraxis.net/topic154938_problem+mit+ausgelagerter+prozedur.html das auch fragst und die Lösung dort hier mehr oder weniger als deine eigene verkaufst.


Was ein böser Junge xD