AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Remote Procedure Call

Ein Thema von Alex_ITA01 · begonnen am 3. Apr 2006 · letzter Beitrag vom 3. Apr 2006
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

Remote Procedure Call

  Alt 3. Apr 2006, 13:26
Hallo erstmal,
ich wollte mal fragen, ob jemand von euch schonmal Erfahrungen mit RPC (Remote procedure call) gemacht hat?
Das heißt, ich möchte eine Funktion in einer DLL zur Laufzeit des Programmes "umhängen" können. Ich möchte die Anwendung nicht immer neu starten wenn ich ein Zeichen im Source geändert habe

Wäre nett wenn jemand dazu was schreibt.
MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Remote Procedure Call

  Alt 3. Apr 2006, 14:27
RPC hat nichts mit DLLs zu tun. RPC definiert, wie man Prozeduren/Funktionen in einem entfernten
Prozess aufruft und die Funktions-Parameter über Netzwerk transportiert.
http://de.wikipedia.org/wiki/Remote_Procedure_Call

Um eine DLL zu testen geht man so vor:
* man erstellt ein Grundgerüst der DLL (das hast du schon)
* man erstellt eine Testanwendung, die die DLL lädt und dann verschiedene Funktionen aufruft
* man öffnet das DLL-Projekt und trägt die Testanwendung in der Delphi-IDE unter Start->Parameter->Hostanwendung ein

Jetzt braucht man nur noch F9 zu drücken, die DLL wird kompiliert und die Testanwendung wird gestartet.
Man führt seine Test durch, beendet die Testanwendung und kann den Sourcecode ändern.
Mit dieser Arbeitsweise kann man auf schmutzige Tricks verzichten und hat dennoch ein hoher Änderungstempo.
Andreas
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#3

Re: Remote Procedure Call

  Alt 3. Apr 2006, 14:36
okay Danke!
Wie kann ich dann zur Laufzeit eine DLL "umhängen". Ich dachte das geht damit RPC hat sich aber anscheind erledigt
Ich habe eine ziemlich große Anwendung und man sollte sie nicht immer neu starten
Wie kann ich da Funktionen schnell umhängen?

MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Remote Procedure Call

  Alt 3. Apr 2006, 14:44
Zitat von Alex_ITA01:
Ich habe eine ziemlich große Anwendung und man sollte sie nicht immer neu starten
Genau das ist dein Denkfehler. Du brauchst ein eigenes Testprogramm und solltest den Test der DLL nicht mit der Hauptanwendung durchführen. Oder du baust ein Testformular in deine Hauptanwendung ein, damit du dich nicht durch mehrere Menus hangeln musst.

Solange die Anwendung die DLL geöffnet hat, ist die DLL schreibgeschützt. Nix zu machen, da hat das Betriebssystem seine Finger drauf.
Du kannst also höchstens zwei Buttons mit "Unload DLL" und "Load DLL" in deine Anwendung einbauen.
Aber auch das ist schwierig, wenn du die DLL nicht selbst mit LoadLibrary geladen hast.
Andreas
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#5

Re: Remote Procedure Call

  Alt 3. Apr 2006, 14:45
Was heißt umhängen?

Wenn du meinst, dass du eine neue DLL hast die das Programm benutzen sollst, musst du die DLL dynamisch laden (am besten in dem Programm dann einne Button einbauen der das dann übernimmt)
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#6

Re: Remote Procedure Call

  Alt 3. Apr 2006, 15:00
In der DLL ist eine ziemlich große Procedure. Wenn man diese jetzt für den Kunden ändern muss und es sich dabei nur um ein kleinen Wert handelt, will ich nicht die ganze Anwendung neu starten sondern der Anwendung sagen, jetzt nutze eben DLL_2 weil die Procedure aus DLL_1 für den Kunden nicht mehr gewünscht ist.
Also muss ich sie seperat laden bzw. entladen?

MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz