Ach du Armer, mir kommen die Tränen
Das, was du nicht in der Schule lernst, mußt du dir selbst beibringen. Es gibt zahlreiche gute Tutorials. Auch die Online-Hilfe bietet immer wieder gute Hinweise über Funktionsweisen z.B. von Properties und Ereignissen.
Bzgl. der Sache mit dem Canvas-Zeichnen habe ich schon online nach Lösungen geschaut. Bei OnChange hast du natürlich recht, da hätte ich selbst nachschauen können..das war Faulheit
Zitat von
Perlsau:
Wieso schreibst du die Methode, die das Image bearbeitet, nicht einfach in die dazugehörige
Unit und rufst diese Methode dann von deinem ButtonClick oder deiner OnChange-Behandlung aus auf? Benötigte Werte übergibst du dann einfach als Parameter.
Weil ich die Lösung eigentlich auch nicht soo schlecht finde, weil ich (trotz Internetrecherche) globale Procedures irgendwie nicht gebacken bekam...
Zitat von
Povov:
Ich denke mir du mußt mehr veröffentlichen.
Ich habe 2 Units(Unit1, PEG) und 2 Forms(Form1, Form2). Unit1 gehört zu Form1, PEG gehört zu Form2. Form2 ist die MainUnit, die ruft dann per
Form1.Show;
die zweite Form auf. Das klappt auch. Wie oben schon gezeigt, ist Unit1 auch in PEG eingebunden. (Muss man nur alle Units in die Main
Unit einbinden oder auch die Main
Unit in allen anderen nochmal?)
Die Zeile
Form1.Image1.Canvas.Pixels[1, 1] := clBlack;
(das steht in PEG und bezieht sich auf Unit1/Form1) ist in eine "repeat until"-Schleife eingebunden.
In einer procedure, die in der Implementation von PEG definiert wurde, klappt das aber, dort findet er das Canvas:
Delphi-Quellcode:
with Form1.Image1.Canvas do
begin
//Achsen zeichnen
Pen.Color:=clBlack;
MoveTo(8,Form1.Image1.Height-9);
LineTo(Form1.Image1.Width-9,Form1.Image1.Height-9);
MoveTo(8,Form1.Image1.Height-9);
LineTo(8,8);
//Pfeilenden einzeichnen
Pixels[7,9]:=clBlack; //y-Achse
Pixels[6,10]:=clBlack;
Pixels[5,11]:=clBlack;
Pixels[4,12]:=clBlack;