Frage : Delphi-Laufzeitpakete

Hallo, bearbeitet das

I morgens mein Programm mit dem Laufzeitpaket von Vorteils-Version 8 aufbauend, wenn ich es und Versuch durchführe, um einen Antrag zu tun alles, fine.

I möchten wissen, wenn es möglich ist, ein .exe zu liefern, das durchführen würde, obwohl der Klient Version 8 oder 9 von Vorteil hat, ohne zu müssen recompile das .exe.

Example: Ich errichte mein .exe mit dem Laufzeitpaket von Vorteilsversion 9, ich es an den Klienten, der bereits das Paket von Vorteilsversion 8 hat, liefern meine .exe justieren auf diese Version und durchführen?

 

Antwort : Delphi-Laufzeitpakete

Mein Hauptziel ist, nur ein .exe zu haben, mit dem mit Vorteil 9 errichtet sein und ich möchte, dass es auch ist, mit Vorteil 8 durchzuführen…

Es gibt noch Mittel, durch die Sie (Art von) tun können, was Sie versuchen, zu tun.  Es ist ein bisschen mehr Arbeit, aber es könnte eine „Arbeit herum sein.“

  1. Ihren Datenzugang in ein Datamodule zuerst verschieben, wenn Sie nicht bereits haben.  
     
  2. Eine Version des Datamodule dann verursachen, das zu jeder der Vorteilsversionen spezifisch ist, d.h. müssen sie außer den Anschluss Schnüren und den cnoonections zu den verschiedenen Versionen des Vorteils parallel/identisch genau sein.  Sie müssen die gleiche Funktion/Verfahren haben, die die gleichen Parameter annehmen und die gleichen Resultate (im Falle der Funktionen) zurückbringen und die gleichen Sachen tun.  Es bedeutet auch, dass Sie alle Datenquellen und Fragen und alle anderen Datenzugangsbestandteile haben müssen, die die selben in jedem datamodule genannt.
     
  3. Das DLLs in 2) oben muss „dynamisch geladene“ DLL (das sein ist, wo die „ein bisschen mehr Arbeit“ wirklich die Abbildung erbt.
     
  4. Das bedeutet auch, dass Sie ein Verfahren in Ihrer Hauptapp benötigen, die herauf das passende DataModule DLL lädt und anschließt.
     
  5. Sie müssen dann eine Weise haben zu kennzeichnen, die überhaupt Version fördern, die, der Klient hat.  Das lässt Sie das passende DataModule DLL laden. 

Ich getan dies in der Vergangenheit, als ich in der Lage sein musste, Schlag zwischen DB2, SQL-Server und Oracle zu schalten.  (Mindestens theoretisch ist Ihre Situation alle in einer Familie. ; -)  

Wechselweise ich angeschlossen an entweder Eil SQL-Server (am Ort) oder SQL-Server (in einem Netz) den indem ich einfach die Anschlussschnüre für jedes und dann den Anwendungsversuch gründete, um die Beziehung zum Netz SQL-Server herzustellen und dann, wenn der nicht arbeitet, versuchen den lokalen Eil SQL-Server hatte.  Diese Annäherung könnte vermutlich geändert werden, damit sie mit Ihrer Veränderung auf dem Thema arbeiten konnte.  

Abhängig von genau, die Anschlussbestandteile Sie wie verwenden, können Sie sein, den gleichen Trick zu verwenden, tat mir als I didn tknow, was das Netz oder der lokale Anschluss aussehen.  Ich verursachte ein Verfahren in meinem datamodule, das der Benutzer durch das Herstellen der Anschlussschnur ging und dann das speicherte.

Weitere Lösungen  
 
programming4us programming4us