Zitat von
Go2EITS:
ich weiss, dass Objekte um neue Eigenschaften erweitert/verändert werden können.
Das brauchen wir hier nicht.
Zitat von
Go2EITS:
Ich spare mir:
Viel Zeit, weil ich in 2 Minuten die Lösung hatte,
Aufgeblähten Code, weil ich nicht die Choose in eine einfache Procedur/Function stecken musste
und ich kann weiterarbeiten, weil ich nicht
OOP lernen muss.
Es gibt keine Probleme, da der betreffende Button nicht sichtbar ist.
Wodurch wird der Code denn aufgebläht, wenn du eine Procedure definierst?
Es tut nicht weh und ist kein Nachteil
OOP zu lernen - und hier auch gar nicht im Detail von nöten!
Die Sichtbarkeit des Buttons ist hierbei unerheblich.
Zitat von
Go2EITS:
Vielen Dank für Deine Mühe. Der User kann Button1.click nicht aufrufen.
Wie sollte der User das auch können, schliesslich hast du bestimmt kein Interpreter bei dir eingebaut.
Du sollst an der Stelle wo du nun
Button1Click(nil);
aufrufst einfach
Button1.Click;
als Alternative schreiben. Was sollte das mit dem User zu tun haben?
Zitat von
Go2EITS:
Das Programm ist unsichtbar. Nur in diesem Modus wird der Button1.Click "simuliert".
Ja und? Tut hier nicht zur Sache, ist unerheblich.
Zitat von
Go2EITS:
Somit kann es "Probleme" bei der Ausführung des Programmes und bei möglichen Zugriffen auf Variablen/Dateien/Eigenschaften/Methoden von Objekten etc. nicht geben.
Die Methode wäre im selben Kontext, somit kann es da keine Probleme geben.
Zitat von
Go2EITS:
Ich kann Dir leider nicht nicht weiter folgen, da mir das Wissen dazu fehlt. Aber ich denke statt "Scharmützel" solle es nachvollziehbare Beispiele geben, die auch wir als Anfänger verstehen.
Ok, Dein Code wie er jetzt wohl aussieht:
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
... viel Code
End;
Procedure TForm1.AndereMethode;
Begin
irgendwelcher Code
Button1Click(Nil);
End;
Ok, und davon rede ich:
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
MachWas;
End;
Procedure TForm1.AndereMethode;
Begin
irgendwelcher Code
MachWas;
End;
Procedure TForm1.MachWas;
Begin
... viel Code
End;
Wenn du nun noch dem "MachWas" einen beschreibenden (aber nicht ausufernden) Namen verpasst, dann weisst du auch später sofort was der macht.