Entwickler-Ecke
Andere .NET-Sprachen - Problem mit Referenz auf andere Klasse
Dede - Di 14.09.04 15:27
Titel: Problem mit Referenz auf andere Klasse
Huhu,
Ich versuche derzeit mit der .NET Remoting Komponente zu arbeiten um eine 3-Schicht (GUI->Application Server->Datenbank)Architektur zu erstellen. Allerdings habe ich das Problem das ich meine Methoden in der gleichen Unit implementieren muss, indem ich Object Manager erzeuge. Die Funktionen die dort aber angegeben werden, sollen allerdings in einer anderen Klasse liegen (auch andere Unit)...
Zum besseren Verständnis hier mal ein bisschen Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| ... type RemoteObjectManager = class(MarshalByRefObject, IRemoteObjectManager) public function EchoStr (Str : string) : string; end;
const Port = 4242; ServerResource = 'RemoteObjectManager.soap';
var chan : TcpChannel; begin WriteLn('Server wurde gestartet'); Chan := TcpChannel.Create(Port); ChannelServices.RegisterChannel(Chan); RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteObjectManager),ServerResource,WellKnownObjectMode.SingleCall); WriteLn('Mit Tastendruck Server beenden'); klasse := tClass1.Create; ReadLn; klasse := nil; end. |
Nun ist aber mein Problem, rummault und will das diese methode auch in dieser unit implementiert wird... das will ich aber nicht ;D
So ich hoffe ich konnte mein Problem verständlich schildern...
Gruß
Dede
Udontknow - Di 14.09.04 15:32
Das Stichwort lautet "Abstrakte Methoden" (Siehe Delphi-Hilfe). :wink:
Cu,
Udontknow
Dede - Di 14.09.04 15:44
Delphi-Quelltext
1: 2: 3: 4:
| RemoteObjectManager = class(MarshalByRefObject, IRemoteObjectManager) public function EchoStr (Str : string) : string; virtual; abstract; end; |
Soweit so gut, doch wie kann ich jetzt auf die EchoStr methode in meiner anderen Klasse referenzieren??
Gruß
Dede
Udontknow - Di 14.09.04 16:15
Ähm, irgendwie glaube ich, dich falsch verstanden zu haben.
Du machst doch einen Nachfahren in der anderen Unit, ja? Dann musst du dort die Funktion mit "override"-Flag implementieren.
Cu,
Udontknow
Dede - Di 14.09.04 17:28
Hm... ich glaub auch :D
ich will eigentlich meinen application server in mehere units (klassen) aufspalten damit nicht jede methode in einer einzigen unit rumgammelt
hab nun aber was im Internet gefunden:
http://www.aspfree.com/c/a/.NET/NET-Remoting-and-Delphi/8/
die letzten seiten von dem dokument waren doch recht aufschlussreich...
man braucht also für jede klasse die der application server handlen soll ein eigenes interface.
Trotzdem danke für deine Hilfe Udontknow
Gruß
Dede
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!