Hallo,
Kommen wir einmal auf meinen Beitrag zurueck.
Wenn du ein Grundlagenbuch studiert haettest, oder nicht so forsch reagiert haettest, würde man dir sicherlich einiges mehr erklären.
Aber nun gut. Du weisst sicherlich das du mit Variablen hantierst. Variablen werden im Stack abgelegt. Handelt es sich hierbei um ein Object, was es ja in deinem Falle ist, so hast du im Stack nur eine Refernez rüber zum Heap stehen. Auf Deutsch einen Verweis was nur eine Zahl ist!
Durch die Anweisung „Set ABC= …“ legst du eine Variable im Stack an, die auf den Heap zeigt und genau da auf das Object. Die Textbox! Wenn Du nun ABC in einem Sub declarierst oder so schön wie du es immer sagst „Dimmst“ dann ist sie logischerweise auch nur dort gültig! Sobald du die Sub verlaesst, ist sie nicht mehr gültig und du hast deinen Speicher sinnlos vollgemuellt! Du schaffst es dann nicht mehr auf die Instanz zuzugreifen oider gar zu löschen!
Jedes Object hat einen Namen. Durch die Zuweisung von Variable.Name=… gibst du ihr einen Namen. Möchtest du nun auf das Object mittels den Namen zugreifen, so kannst du das m.E. via Controls(Name) machen, was aber nicht der Sinn ist! Möchtest du auf das Control mit einen definierten Namen zugreifen, so mache das gleich in der Set Anweisung.
Aber dazu musst du, je nachdem wie dein Proggi sein soll, vorher die Variable bekannt machen. Ob nun als Private oder Public, das liegt wiederrum daran was du alles anstellen willst und wo sie denn Verfügbar sein soll. Ja, es gibt auch mehrere Formulare etc. mit denen man arbeiten kann!
Wenn du nun einmal 1 und 1 zusammen zaehlst wirst du sicherlich erkennen, das man deine Frage so nicht beantworten kann, denn ein
private xyz as ....
oder
public xyz as ...
oder
private WithEvents xyz as ...
wirst du ja sicherlich kennen!
MfG Alex
Weil wenn ich mit Bauer.Text den Inhalt abragen will, er mir
sagt, das das Objekt nicht vorhanden sei. Außerdem kann ich
danach immernoch mit abc.Text den Inhalt auslesen, was
eigentlich nicht mehr gehen dürfte.
Weil Bauer nicht die Refernz ist die im Stack steht, sondern ABC!
Das liegt daran, das ich diesen Sub nur zum probieren erstellt
habe und die With-Anweisung mal länger war und ich diese nun
kürzte. Und es ging schneller die Zeile in der With-Anweisung
zu löschen als die komplette With-Anweisung zu löschen und
danach wieder was hinschreiben. Kurz, es hat mit dem Thema
eigentlich nichts zu tun!
Das sollte dann dazu geschrieben werden …
Also soll der Name danach Bauer sein? Wie ich oben schon
erklärt habe ist dies nicht der Fall!
Wie wäre es dann via einer Anweisung alla
Set Bauer= ....
Danach kannst du mittels Bauer.Eigenschaft auf das Element zugreifen
Ah super, du hast mein Problem erneut beschrieben, aber ich
kenne das Problem bereits und erhoffte hier mir eine
Lösung…!
Haettest du dir das alles mal richtig durchgelesen und darueber auch nachgedacht, haettest du wenigstens schon einmal den Grund gewusst, warum dein Source nicht ihren Dienst wie gewünscht macht.
In meinen Augen ist dieses nicht sinnlos. Man braucht für jede
Tätigkeit eine gewisse Erfahrung. Und Erfahrung kann man
wunderbar durch Ausprobieren sammeln! Also unterlasse bitte
demnächst solche Beiträge. Sie helfen keinen weiter!
Das ist richtig, jedoch sollte man schon die Grundkenntnisse haben!
Ich fahre auch Auto und lerne dazu ( Werde sicherer beim fahren, dennoch musste ich die Fahrschule absolvieren und nicht gleich losfahren!)
Aber ich werde mich in Zukunft hüten, dir nochmals eine Antwort zu geben!
Dann wurschtel eben etwas zusammen erfreue dich wenn es funktioniert und aergere dich dann in 6 Monaten, wenn Ereignisse ausgelöst werden, woran du nicht gedacht hast und dein Project dann nicht mehr läuft … Ist meistens so, und um so mehr, wenn man keinen PAP ( Der in deine Augen ja überfluessig ist) erstellt hat…
Meines Erachtens reicht meine Grundlage vollkommen aus. Ich
habe schon einiges erfolgreich programmiert und lerne so stets
dazu. Komme ich bei einer Sache nicht weiter, so lese ich
nicht ganze Bücher, sondern frage Leute, du gehörst nur zum
Teil dazu, die mir vernünftig weiterhelfen können und
es auch tun.
Dann sollte man aber mindestens wissen wie man gültig Declariert!
3: Seinen PAP mal durchdenken
Keine Ahnung was ein PAP sein soll. Habe auch kein Interesse
dieses herauszufinden, solange es nichts mit dem
Themenhintergrund zu tun hat!
Das hat es eine ganze Menge. Aber darauf hast du ja keine Lust!
Vll. ließt du mal meine Frage:
Muss ich diesen erst mal „Dimmen“ und wie?
Du nennst es deklarieren, ich dimmen.
Richtig und lese nun mal weiter oben das man das nicht so einfach beantworten kann … Da es da eben mehrere Lösungswege gibt …
–> Also: Durchlesen, nachdenken, sinnvoll antworten!!
Merk Dir diese Worte …
Gurke
MfG