Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - von anderer Form auf Procedur zugreifen
hibbert - Di 20.01.04 19:33
Titel: von anderer Form auf Procedur zugreifen
Hi,
wie ich meine eigene Procedure erstelle weis ich ja.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure meineProc; var zahl1,zahl2,zahl3:integer; begin zahl1:= 1; zahl2:= 5; zahl3:= zahl1 + zahl2 ; showmessage('Das Ergebnis ist: '+inttostr(zahl3)); end; |
Doch nun will ich von einer anderen Form aus diese Procedure aufrufen und die Werte der Zahlen ändern.
Wie mache ich das am einfachsten?
thx hibbert
Moderiert von
DeCodeGuru: Topic verschoben
Christian S. - Di 20.01.04 19:39
Hallo!
Die Prozedur muss im Interface-Teil der Unit, in der sie steht, (nennen wir mal "Unit1") eingetragen sein.
Dann kannst Du die Prozedur aus einer "Unit2" durch den Aufruf "Unit1.ProzedurName" aufrufen, falls Unit1 in der Uses-Klausel von Unit2 steht.
MfG
Peter
P.S.: Falls der ProzedurName in den von Unit2 aus erreichbaren Units einzigartig ist, kann das "Unit1." auch weggelassen werden.
hibbert - Di 20.01.04 19:58
ok,
das habe ich mir schon fast gedacht:
Ich weiß nämlich nicht, wie ich die Procedure dort eintragen muss und wie ich die Variabeln dieser Procedure ändern kann. :oops:
kannst du mir das vielleicht mal erklären *liebkuck*
thx hibbert
Christian S. - Di 20.01.04 20:15
Habe mein System neu drauf gemacht, deswegen noch kein Delphi drauf. Aber versuchen kann ich es ja.
Also, Unit1:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| unit uni1;
interface
uses ...;
Type TForm1 = Class(TForm1) private public procedure meineProz1; end;
procedure meineProz2; procedure meineProz3;
Var Form1 : TForm1;
implementation
procedure TForm1.meineProz1; begin end;
procedure meineProz2; begin end;
procedure meineProz3; begin end; |
So, und nun Unit2:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| unit unit2;
interface
uses ..., unit1;
Type TForm2 = Class(TForm2) private public end;
procedure meineProz2;
Var Form2 : TForm2;
implementation
procedure meineProz2; begin unit1.meineProz2; meineProz3; form1.meineProz1; end; |
So sollte es funktionieren.
MfG
Peter
hibbert - Di 20.01.04 20:31
Ok,
doch da gibt es ein kleines Problem:
Meine Procedure hat einen anderen Namen.
...
Halt, war nur ein Scherz :lol:
es funzt so wie ich das haben wollte.
Danke !!
thx hibbert
Christian S. - Di 20.01.04 20:42
| Zitat: |
doch da gibt es ein kleines Problem:
Meine Procedure hat einen anderen Namen. |
:lol: :lol:
hibbert - Di 20.01.04 20:45
ist ja ok, ich gebe es zu, war ein "toller" Witz.
Aber nun mal im ernst, meine Procedure hat(te) wirklich einen anderen Namen !! :roll:
hibbert
Christian S. - Di 20.01.04 20:51
Ich bin zu sehr Individualist, als dass ich die Prozedurnamen anderer Leute verwenden könnte. ;-)
hibbert - Di 20.01.04 21:15
... :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!