"The shell stopped unexpectedly and Explorer.exe was restarted."
Verwijderd
Waarom niet? het mooie van (d)com is dat je client app niet eens door heeft of ie tegen een inprocess geladen com object aan lult of tegen 'n remote dcom server.
De DCOM server levert nu alleen een paar DataSetProviders om de Database te query'en en te bewerken.
Maar wat ik dus ook wil is dat er gewoon een functie is die IETS doet, hoeft niet eens wat te maken te hebben met de database waar de DCOM server ook aan vast zit, zolang het maar 1 en dezelfde DCOM server is.
Maar ik kan niet zomaar een functie stoppen in de (hoofd) RemoteDataModule van de server, of wel?
Maar wat ik dus ook wil is dat er gewoon een functie is die IETS doet, hoeft niet eens wat te maken te hebben met de database waar de DCOM server ook aan vast zit, zolang het maar 1 en dezelfde DCOM server is.
Maar ik kan niet zomaar een functie stoppen in de (hoofd) RemoteDataModule van de server, of wel?
"The shell stopped unexpectedly and Explorer.exe was restarted."
Verwijderd
Is het niet mogelijk een nieuwe(extra) interface te definieren binnen je dcom server met delphi?
Valt hij dan wel binnen de huidige DCOM server, of wordt het een registratie op zich?
Op de client wordt het dan zoiets als:
Op de client wordt het dan zoiets als:
code:
1
2
3
4
5
6
7
8
9
| procedure TMainForm.Button1Click(Sender: TObject);
const
ServerGUID: TGUID = '{6FC03090-F77A-465A-8203-019E4DF9E4DD}';
var
V: Variant;
begin
V := CreateRemoteComObject('LOCALHOST', ServerGUID);
ShowMessage(V.Test);
end; |
"The shell stopped unexpectedly and Explorer.exe was restarted."
Verwijderd
Een enkele dcom server kan meerdere objecten met elk weer meedere interfaces servicen maar wederom ik weet niet hoe dit in delphi geimplementeerd is, teven zie ik dat je gebruikt maakt van 'n variant waardoor ie latebinding gaat gebruiken als je veel calls naar de dcom server gaat doen kan het schelen om 'm early te binden.Op donderdag 28 februari 2002 12:59 schreef jelmervos het volgende:
Valt hij dan wel binnen de huidige DCOM server, of wordt het een registratie op zich?
Zo ziet mijn server eruit:

De GeneralModule is de hoofd RDM zeg maar, de rest zijn Childs (tevens RDM's).
De GeneralModule is de hoofd RDM zeg maar, de rest zijn Childs (tevens RDM's).
"The shell stopped unexpectedly and Explorer.exe was restarted."
Verwijderd
[quote]Op donderdag 28 februari 2002 11:51 schreef jelmervos het volgende:
Is het mogelijk om net als in een 'gewoon' COM object, functies in een DCOM server te stoppen die door de client zijn te gebruiken?
Ja dit kan. DCOM is gewoon COM maar dan distributed. Je kunt in je TypeLibrary editor gewoon een functie aan een interface toe voegen en deze implementeren.
In je client doe je dan bijv:
code:
1
| ShowMessage(DCOMConnection.AppServer.MijnEigenFunctie); |
Oh ja, let wel op bij TDCOMConnection: alleen de ServerGuid, ComputerName en niet de ServerName [/b] invullen anders werkt het niet remote!
Cool man, dat werkt perfect.
Maar nu moet een Child RDM ook die functie kunnen gebruiken. Dus een Child moet zo'n functie kunnen gebruiken van de (hoofd) GeneralModule. Is dit mogelijk?
Moet ik dan misschien een class function maken binnen die GeneralModule die zichzelf weer aanmaakt en als result terug geeft?
Maar nu moet een Child RDM ook die functie kunnen gebruiken. Dus een Child moet zo'n functie kunnen gebruiken van de (hoofd) GeneralModule. Is dit mogelijk?
Moet ik dan misschien een class function maken binnen die GeneralModule die zichzelf weer aanmaakt en als result terug geeft?
"The shell stopped unexpectedly and Explorer.exe was restarted."
Pagina: 1