AGB  ·  Datenschutz  ·  Impressum  







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

Delphi 4 -> Delphi 2006 Enterprise

Ein Thema von HolgerCW · begonnen am 12. Dez 2006 · letzter Beitrag vom 13. Dez 2006
Antwort Antwort
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

Delphi 4 -> Delphi 2006 Enterprise

  Alt 12. Dez 2006, 09:49
Hallo zusammen,

weiss hier jemand, ob man Projekte aus Delphi 4 in Delphi 2006 ohne Einschränkungen weiterentwickeln kann ?

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: Delphi 4 -> Delphi 2006 Enterprise

  Alt 12. Dez 2006, 09:51
Wenn Du bei Win32 bleibst sind die üblichen Probleme bei Wechsel der IDE-Version zu erwarten:

- 3th-Party Komponenten nicht verfügbar
- Keine Anpassung an Units möglich da keine Pas-Files vorhanden
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#3

Re: Delphi 4 -> Delphi 2006 Enterprise

  Alt 12. Dez 2006, 09:54
Zitat von HolgerCW:
Hallo zusammen,

weiss hier jemand, ob man Projekte aus Delphi 4 in Delphi 2006 ohne Einschränkungen weiterentwickeln kann ?
Hrm. Kommt drauf an

1.) Zwischen D4 und D6 gab es eine Umstellungen in den VCL-Units. Diese wirst Du auf jeden Fall nachziehen müssen.

2.) Es kann sein, dass Du geringfügige Änderungen am Code machen musst, wenn der Compiler meckert. Das sollte sich aber in Grenzen halten.

3.) Hast Du von allen im Projekt verwendeten Komponenten den Source oder aber erhältst Du vom Anbieter auch eine BDS 2006 - Version?

Ich denke Punkt 3 ist der größte Knackpunkt. Gibts Deine verwendeten Komponenten nicht mehr für D2006 wirst Du Probleme bekommen.

Das einfachste wird aber sein, wenn Du Dir eine VM schnappst, dort die BDS 2006 Architect TRIAL hineininstallierst (gibts hier: http://www.borland.com/downloads/download_delphi.html) und dann einfach ausprobierst obs klappt.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#4

Re: Delphi 4 -> Delphi 2006 Enterprise

  Alt 12. Dez 2006, 10:32
Vielen Dank schon mal für die Informationen,

dann werde ich mal schauen wie es wird.

Jetzt weiss ich ja wie ich mir im Extremfall helfen kann ...

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Delphi 4 -> Delphi 2006 Enterprise

  Alt 12. Dez 2006, 10:44
Zitat von HolgerCW:
weiss hier jemand, ob man Projekte aus Delphi 4 in Delphi 2006 ohne Einschränkungen weiterentwickeln kann?
Wir haben mit der Umstellung von Delphi 5 nach Delphi 7 deutlich mehr Probleme gehabt als bei Delphi 7 nach Delphi 2006.
Diese Probleme wirst Du dann warscheinlich auch haben.
Ichhabe mal eine Lister der häufigsten Probleme bei unserer Umstellung zusammengestellt:
Ich hoffe das hilft Dir weiter
mfg
MabuSE
  • Bedingte Kompilierung
    Du solltest Dir alle "bedingte Kompilierung"-Stellen anschauen.
    Oft wird z.B. {$IFDEF VERXXX} verwendet um Quellcode führ mehrere Kompiler anzupassen.
    Wenn nun ein "neuer" Kompiler dazukommt sollten diese Stellen angepasst werden.
    Oft sind diese VERXXX auch in *.inc Dateien ausgelagert. Es werden dann eigene Symbole z.B. Delphi5Up definiert.
    Also nach $IFDEF bzw. $IFNDEF suchen.
    • (unvollständige) Liste der Pascal (Delphi) Versionen:
      VER60 = Turbo Pascal 6.0
      VER70 = Borland Pascal 7.0
      VER80 = Delphi 1.0
      VER90 = Delphi 2.0
      VER93 = C++ Builder 1.0
      VER100 = Delphi 3.0
      VER110 = C++ Builder 3.0
      VER120 = Delphi 4.0
      VER125 = C++ Builder 4.0
      VER130 = Delphi 5.0 / C++ Builder 5.0
      VER140 = Delphi 6.0 / C++ Builder 6.0
      VER150 = Delphi 7.0 / C++ Builder 7.0
      VER160 = Delphi 8.0
      VER170 = Delphi 9.0 -> D2005
      VER180 = Delphi 10.0 -> D2006
  • zw. D5 und D6 haben sich einige Dinge bei der "Komponentenentwicklung" getan.
    -> Lösung: Das leidige Problem mit der DsgnIntf bzw. Proxy.dcu
  • RtlConsts
    Einige Konstanten sind in die Unit RtlConst verschoben worden.
    Delphi-Quellcode:
    uses
      RtlConsts;

    // constants that are now in RtlConsts:
    // raise Exception.Create(ResStr(SLineTooLong));
    // raise Exception.Create(ResStr(SFOpenError));
  • Variants
    Einige Funktionen sind in die Unit Variants verschoben worden.
    Delphi-Quellcode:
    uses
      Variants;

    // functions now in Variants;
    // Result := not VarIsEmpty(FValue);
  • StrUtils
    Einige Funktionen sind in die Unit StrUtils verschoben worden.
  • DateTimeUtils
    Einige Funktionen sind in die Unit DateTimeUtils verschoben worden.
  • PSock
    Die Unit PSock enthält TPowersock, die Basisklasse der FastNet-Tools der Firma NetMasters. Die FastNet Tools werden bei Delphi 7 nicht mehr mitgeliefert und wurden schon in Delphi 6 durch die Indy Komponenten ersetzt.

    Alle Komponenten die mit TNM... Anfangen und in Units NM* definiert sind sollten zu den FastNet Komponenten gehören.

    In der Unit PSock sind neben dem Wrapper für den Winsock auch noch 3 String Funktionen definiert:
    • NthPos
    • NthWord
    • StreamLn
    Die Funktion NthPos wurde von mir nach Delphi 7 portiert, da sie in unseren Projekten verwendet wird.

    Auszug aus der Delphi 5 Onlinehilfe
    Funktion NthPos
    function NthPos(InputString: String; Delimiter: Char; Number: integer): integer; Beschreibung
    Die Funktion NthPos gibt die Position des angegebenen Auftretens des festgelegten Begrenzungszeichens zurück.

    Parameter:
    InputString = Der Parameter InputString enthält den zu untersuchenden String
    Delimiter = Der Parameter Delimiter gibt das Zeichen an, das als ein Trennzeichen zu verwenden ist
    Number = Der Parameter Number gibt das Vorkommen des Begrenzungszeichens an, von dem die Position zurückzugeben werden soll.

    Hinweis:
    Die Verwendung dieser Funktion erfordert nicht, daß beliebige der FastNet-Komponenten in einer Anwendung verwendet werden. Die Unit Psock muß jedoch in der Uses-Anweisung der Unit stehen, in der die Funktion verwendet wird.


    Portierung von NthPos auf Delphi 7:

    Delphi-Quellcode:
    unit PSock_D7;

    // Diese Unit ersetzt die PSock.dcu aus Delphi 5,
    // da diese in Delphi 7 nicht mehr mitgeliefert wird.
    // 01.02.2005 jma, mbd: Erste Version in "\merian\Devisenhandel\Komponenten\Source\Sonstige\PSock_D7.pas"

    interface
    {
      Deklaration
      function NthPos(InputString: String; Delimiter: Char; Number: integer): integer;

    Beschreibung
      Die Funktion NthPos gibt die Position des angegebenen Auftretens des
      festgelegten Begrenzungszeichens zurück.

    Parameter:
      InputString  = Der Parameter InputString enthält den zu untersuchenden String
      Delimiter    = Der Parameter Delimiter gibt das Zeichen an, das als ein
                    Trennzeichen zu verwenden ist
      Number      = Der Parameter Number gibt das Vorkommen des Begrenzungszeichens
                    an, von dem die Position zurückzugeben werden soll.

    Hinweis:
      Test mit D5 ergab:
        Number = 0 -> Result := 1
        number > Anz. Delimiter in String -> Result := length(InputStr)+1
    }

    function NthPos(InputString: AnsiString; Delimiter: Char; Number: Integer): Integer;

    implementation

    uses StrUtils;

    function NthPos(InputString: AnsiString; Delimiter: Char; Number: Integer): Integer;
    var
      i, j, k: Integer;
    begin
      i := 1;
      j := 0;
      k := 1;
      while (j < Number) and (i > 0) do
      begin
        i := PosEx(Delimiter, InputString, k);
        k := i + 1;
        Inc(j);
      end;
      if i = 0 then
      begin
        if Number = 0 then
        begin
          Result := 1
        end
        else
        begin
          Result := Length(InputString)+1;
        end;
      end
      else
      begin
        Result := i;
      end;
    end;

    end.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#6

Re: Delphi 4 -> Delphi 2006 Enterprise

  Alt 12. Dez 2006, 20:59
Zitat von MaBuSE:
VER150 = Delphi 7.0 / C++ Builder 7.0
Hab ich da was verpaßt?
Moritz
"Hey, it compiles! Ship it!"
C++Builder Pages
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: Delphi 4 -> Delphi 2006 Enterprise

  Alt 13. Dez 2006, 07:50
Zitat von DMW:
Zitat von MaBuSE:
VER150 = Delphi 7.0 / C++ Builder 7.0
Hab ich da was verpaßt?
Ich arbeite ausschließlich mit Delphi, ich habe die Infos aus dem jedi.inc File
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  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 08:28 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