Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Ganz doofe frage TEdit / function / procedure
uranop - Mo 25.08.08 14:58
Titel: Ganz doofe frage TEdit / function / procedure
Hi leute,
ich habe mal ne janz doofe Frage ...
Im Zuge des Auslesens von Rechnern lokal fuer Geraetebuecher ( Daten aus WMI )
mach ich das nun zusaetzlich noch mit einer Remotefunktion.
Remotehost angeben und auslesen lassen ....
klappt ja soweit auch ganz gut ...
lediglich steh ich momentan etwas aufn schlauch ....
Hier mein problem ...
die meisten meiner abfrage routinen sind functions ausserhalb von procedures
wenn ich nun hergehen moechte und den hostnamen der - in meinem fall - in der Edit25 steht
an die functions uebergeben will ... streikt delphi...
Einzigste moeglichkeit in den funktions zusaetzlich in den vars noch Edit25 : TEdit; mit anzugeben.
dann laeuft der compiler auch ohne meckern durch...
sooo nun komme ich aber zu fehlermeldungen die immer auf
"Read of Adress 000000BE" raus laufen ....
weiss einer was der mist sein koennte ?
Gausi - Mo 25.08.08 15:07
Warum übergibst du der Funktion das Edit? Der String, der in Edit.Text drinsteht, sollte doch ausreichen, oder?
Oder (ganz böse Befürchtung), machst du sowas?
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure meineProc; var Edit25: TEdit; begin hostname := Edit25.Text; end; |
Das kann ja gar nicht funktionieren.
Besser wäre sowas:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure meineProc(hostname: String); begin end;
meineProc(Edit25.Text); |
uranop - Mo 25.08.08 15:22
neehm ne so einfach denn doch nicht ...
hier mal nen auszug
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| function GetInventorynr: string; var regist: TRegistry; s: string; Edit25: TEdit; begin regist:=TRegistry.Create(KEY_READ); try regist.RootKey:=HKEY_LOCAL_MACHINE; regist.RegistryConnect(Edit25.Text); regist.OpenKey('SOFTWARE\Roche\SMS',true); s:= regist.ReadString('ComputerInventoryNumber'); finally regist.Free; end; GetInventorynr := s; end; |
das ding wird erst viel viel spaeter mit
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| begin Edit1.Text := Edit25.Text; ProgressBar1.StepIt; Edit2.Text := GetInventorynr; . . . |
aufgrufen
wenn ich das Edit25 : TEdit;
da nicht mit rein mache in der function denn kommt
undeclared identifier Edit25 bla bla
Gausi - Mo 25.08.08 15:26
...also hat sich meine ganz böse Vermutung bestätigt. Meine Glaskugel funktioniert also doch. :mrgreen:
Füge der Funktion GetInventorynr einen Parameter vom Typ String hinzu, den du dann weiter benutzt. Beim Aufruf der Funktion übergibst du dann den Text aus Edit25.
uranop - Mo 25.08.08 18:59
jawoll ja ... naja is montag da kann man bissl neben sich stehen : P
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!