Vraag : Runtime van Delphi Pakketten

Hallo,

I am wil mijn programma met het runtime pakket van Versie 8 bouwen van het Voordeel, wanneer ik het uitvoer en probeer om een verzoek te doen alles fine.

I werkt weten of is het mogelijk om .exe te leveren die zou uitvoeren alhoewel de cliënt versie 8 of 9 van Voordeel zonder het hebben van aan recompile .exe.

Example heeft: Ik bouw mijn .exe met het runtime pakket van versie 9 van het Voordeel, lever ik het aan de cliënt die heeft reeds het pakket van versie 8 van het Voordeel, mijn .exe aan die versie aangepast zal worden en zal uitvoeren?

 

Antwoord : Runtime van Delphi Pakketten

Mijn hoofddoel is slechts één .exe te hebben waarmee met Voordeel 9 worden gebouwd, en ik zou het ook met Voordeel 8 willen kunnen uitvoeren…

Er is nog een middel waardoor u (sorteren van) kunt doet wat u probeert om te doen.  Het is een beetje meer werk maar het zou het „werk rond kunnen zijn.“

  1. Beweeg eerst uw gegevenstoegang in een Datamodule, als u niet reeds hebt.  
     
  2. Dan cre�ër een versie van Datamodule die voor elk van de versies van het Voordeel specifiek is, d.w.z. moeten zij precies parallel/identiek zijn behalve de verbindingskoorden en cnoonections aan de verschillende versies van Voordeel.  Zij moeten de zelfde functie/de procedures hebben die de zelfde parameters goedkeuren en de zelfde resultaten (in het geval van functies) terugkeren en de zelfde dingen doen.  Het betekent ook dat u alle datasources en vragen en alle andere gegevens moet hebben tot componenten toegang hebben genoemd het zelfde in elke datamodule.
     
  3. DLLs in 2 zal) hierboven „dynamisch geladen“ DLL moeten zijn (die waar „beetje is meer werk“ werkelijk in het beeld komt.
     
  4. Dat betekent ook dat u een procedure in uw hoofdapp nodig zult hebben die omhoog aangewezen DataModule DLL zal zal laden en verbinden.
     
  5. U zult dan een manier moeten hebben zich te identificeren die ooit de versie van het Voordeel de cliënt heeft.  Dat zal u aangewezen DataModule DLL laten laden. 

Ik heb dit in het verleden gedaan toen ik klap tussen DB2, SQL Server, en Oracle moest kunnen schakelen.  (Minstens, theoretisch, is uw situatie allen in één familie. ; -)  

Alternatief, heb ik met of SQL Server Uitdrukkelijke (plaatselijk) of SQL Server (op een netwerk) door eenvoudig vestiging de verbindingskoorden voor elk verbonden en dan hebbend de toepassing probeer om de verbinding te maken aan de netwerkSQL Server en toen, als dat niet zal werken, de lokale SQL Uitdrukkelijke Server te proberen.  Deze benadering kon waarschijnlijk worden gewijzigd zodat het met uw variatie aan het thema kon werken.  

Afhankelijk van precies wat de verbindingscomponenten u gebruiken, kunt u de zelfde truc kunnen gebruiken die ik toen I didn tknow heb gedaan wat het netwerk of de lokale verbinding kijken=zou= als.  Ik cre�ërde een procedure in mijn datamodule die de gebruiker door het creëren van het verbindingskoord liep en toen dat bewaarde.

Andere oplossingen  
 
programming4us programming4us