Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#1

Datenübergabe Exe-DLL und unterschiedliche Delphi-Versionen

  Alt 2. Mai 2012, 11:39
Hi,

habe das Problem, dass ich einen Teil einer Anwendung (Delphi 7) in einer neueren Delphi-Version umsetzen muss (XE2), weil dort Fehler korrigiert wurden. Eine Änderung der VCL von Delphi 7 ist mir zu heikel wegen den div. Abhängigkeiten von Drittkomponenten. Eine komplette Umstellung auf XE2 ist geplant, wird aber nicht zeitnah durgeführt werden können.

Erst dachte ich ich schieb die Daten (es handelt sich im Grunde um mehrere KLassenmodelle) bzw. die jeweilige Hauptklasse als Zeiger in die DLL und caste dort wieder auf die Klasse, verarbeite und gut ist. Problem sind jetzt aber die div. Strings in den Klassen: Klar kann ich ShareMem einbinden, doch welche BORLNDMM.DLL liefere ich dann aus? Die von Delphi 7 oder die von XE2? Zumindest in den Foren in denen das Thema angesprochen wurde, wird generell davon abgeraten so was zu machen und auf die BORLNDMM.DLL zu verzichten.

Jetzt habe ich noch folgende Optionen:
Für die Datenübergabe baue ich spezielle DatenkLassen, die anstelle der Strings mit ShortStrings bzw. PCHars arbeiten oder ich serialisiere die gefüllten Klassen und sende an die DLL einen entsprechenden Datenstrom und Rückwärts dann ebenso. Beides ist ein entsprechender AUfwand, wobei ich gerade zu der PChar-Lösung tendiere.

Gibt es über die beiden Möglichkeiten auch noch andere denkbare Lösungswege? Die DLL soll lediglich für Delphi bereit stehen und fliegt nach dem Umstieg auf XE2 oder neuer aus dem Gesamtsystem wieder raus...

Grüße
  Mit Zitat antworten Zitat