AGB  ·  Datenschutz  ·  Impressum  







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

Frame in mehreren Delphiversionen nutzen

Ein Thema von Jumpy · begonnen am 17. Okt 2013 · letzter Beitrag vom 17. Okt 2013
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#1

Frame in mehreren Delphiversionen nutzen

  Alt 17. Okt 2013, 11:00
Hallo,

es soll aus zwei separaten Programmen auf die selbe Datenmenge zugegriffen werden. Eines der Programme wird gerade neu in D2010 erstellt, das andere ist eine alte D6 Anwendung, wo das dazukommen soll. Es geht nur um eine einzige Bildschirmmaske und ich hab zunächst überlegt einfach ein Form zu machen und das in beiden Delphi-Versionen zu benutzen, mein mich aber zu erinnern, dass es da gemecker Seitens der IDE gibt, weil die Forms ggf. andere Eigenschaften haben in den Versionen.

Daher die Frage: Wie ist es mit einem Frame. Kann ich den in z.B. D6 erstellen und so wie er ist auch in D2010 benutzen oder gibt es da auch Änderungen in den Delphi-Versionen?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Frame in mehreren Delphiversionen nutzen

  Alt 17. Okt 2013, 11:08
Die Richtung Alte-IDE-Version -> Neue Vesion sollte (solange man nix verwendet was es nicht mehr gibt) (fast) immer gehen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#3

AW: Frame in mehreren Delphiversionen nutzen

  Alt 17. Okt 2013, 11:10
Im Prinzip sind die Probleme identisch. Allerdings sollte in D6 erstellen und in D2010 verwenden durchaus gehen. Umgekehrt ist wohl schwieriger. In jedem Fall solltest du das Frame in D2010 einmal öffnen bevor du compilierst, damit die IDE die Eigenschaften anpassen kann. Danach kannst du es aber in D6 wohl nicht mehr so ohne weiteres öffnen. Eventuell können dir dabei aber die DevExtensions von Andy helfen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

AW: Frame in mehreren Delphiversionen nutzen

  Alt 17. Okt 2013, 11:20
Wenn du dafür sorgst, daß in der DFM keine Property vorhanden sind, die nicht von beiden DelphiVersionen verstanden werden, dann gibt es da eigentlich keine Probleme.
Das Selbe gilt natürlich auch für den Code, den beide Versionen verstehen müssen.
- Vorallem die Uses-Klausel, mit den neuen NameSpaces und womöglich verschobenem RTL/VCL-Code, der jetzt in anderen Units steckt. Aber hier kann man ja mit IFDEFs etwas nachhelfen.

Entweder du editierst diesen Frame dann möglichst nur im alten Delphi (es gibt im neuen Delphi vermutlich weniger Probleme mit dem alten Code)
oder du leitest das TFrame nochmal ab, bevor du es verwendest und setzt die problemeatischen Property dort auf "stored False". (notfalls die jeweils unbekannten Property mit IFDEF gekapselt)


Bei TForm gibt es auch kaum Unterschiede.
Früher wurde da aber Width und Height gespeichert, was total blöd war, wenn sich der Rahmen/Style des Fensters je Windowsversion unterscheidet
und jetzt wird da ClientWidth und ClientHeight verwendet, aber das neue Delphi kommt auch noch mit Width und Height klar. (so halbwegs ... mit Anchors gibt es ja immer mal Probleme)



PS: Das Selbe gilt eigentlich auch für die Komponenten auf der Form/Frame, welche ebenfalls unterschiedliche Eigenschaften enthalten können.
Aber da gibt es so einige, welche sich sagen "Verwende nie etwas direkt und packe immer einen eigenen Wrapper drumrum" ... also mindestens einmal ableiten, selbst wenn man "jetzt" noch nichts anpasst.

PPS: Ich mag diese {$IFDEF VER180} nicht, da sie sich nur auf eine ganz bestimmte Version beziehen und keine Bereich erlauben.
Sowas wie Version >= 18 geht da einfach nicht. (OK, außer man definiert sich weitere DEFINITIONEN, aber mit jeder neuen Delphiversion muß man sowas sinnlos anpassen und darf blos nichts vergessen)

Und verwende sehr ungern {$IFNDEF ...} , da man das N so gern übersieht.

{$IF CompilerVersion < 18.0} und {$IF CompilerVersion >= 18.0} ist da doch schöner.





Ach ja, im Endeffekt kann es natürlich auch einfacher sein, das doch einfach doppelt zu führen.
Da mußt du dann nur bei Änderungen das jeweils im anderen Delphi öffnen, die Änderungen anpassen lassen und es dann unter dem jeweils anderen Dateinamen abspeichern.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (17. Okt 2013 um 11:25 Uhr)
  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 14:18 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