Borland c++ 4 Portierumg

Gast #3656433
Lesenswert?

Hallo,
ich habe ein altes Projekt mit dem Borland C++ Builder 4 erstellt.
(Ein nicht all zu Komplexe grafische Anwendung)
Die damals übersetzte Software läuft noch bis Win2000.
Ich wollte mal von euch wissen, ob man die alten Sourcen evt. für Win7 
einfach neu Übersetzen kann?
Oder ob da gar nichts mehr passt, und man die Benutzeroberfläche neu 
erstellt und nur noch die alte Programmlogik verwendet?
Gast #3656463
Lesenswert?

Danke werds nochmal versuchen.

Müsste man für eine saubere Portierung nur die Variablen und Zeiger 
anpassen?
Sind die ganzen alten Grafikfunktionen zu win7/8 Kompatibel, da ja heute 
alles mit grafischen Formeditoren gemacht wird.
Gast #3656992
Lesenswert?

Peter II (Gast) schrieb:

RudiRatlos schrieb:
>> Die aber komischerweise noch auf Win2000 läuft.

> dann müsste sie auch unter WinXp laufen. Erst bei Win7 wurde die 16bit
> Unterstützung ausgebaut.

Die 16-bit Unterstützung ist auch in Win7 noch vorhanden, nämlich in der 
32-bit Version, ganz ohne XP-Modus (wie bei der Win7 64-bit).
#3657018
Lesenswert?

RudiRatlos schrieb:
> Das ist ziemlich sicher eine 16 Bit Anwendung.
> Die aber komischerweise noch auf Win2000 läuft.

Sicher? Zumindest in der Dokumentation des C++ Builders 1 steht nichts 
davon, dass das Teil 16-Bit-Anwendungen erzeugen könnte und ich kann 
mich nicht daran erinnern, dass das jemals mit dem C++Builder möglich 
war (die 5er Version des C++ Builders läuft hier noch hin und wieder in 
einer VM). Allerdings wurde Borland C++ 5 mitgeliefert... damit hätten 
16-Bit-Anwendungen erstellt werden können.
Gast #3657557
Lesenswert?

> Sicher?
Die Ntvdm.exe (virtual DOS Machine) startet jedenfalls.
Win3.1 war doch komplett 16bit oder?
Werd mich mal in den code einlesen und versuchen ihn mit einem aktuellen 
Compiler zu übersetzen.
Gast #3657669
Lesenswert?

Hallo,

ich betreibe grad was Ähnliches (Portierung von Turbo Pascal für 
Windows), aber da hat sich gezeigt, dass der Teufel eben im Detail 
liegt, nur ein Beispiel: zwar funktionieren Dateizugriffe mit _lopen, 
_lseek, _lread noch, sind aber obsolete, auch OpenFile kann noch nicht 
Unicode, aktuell ist CreateFile - d.h. alles umschreiben was mit Datei 
zu tun hat. Und wenn die Software noch auf 8.3-Datenamen eingestellt ist 
wird es sehr hässlich und fehleranfällig.

Nächste Baustelle: Konfiguration - nix INI-Datei, Registry ist auch 
schon wieder überholt, aktuell gehört eine solche Datei z.B. in 
C:\Users\Administrator.000\AppData\Roaming\RK\TTManager\RKTTManager.INI.

So könnte ich weitermachen, das Fazit ist: wenn man die Sache auf den 
Stand von Windows 7/8 bringen will, bleibt kein Stein auf dem anderen, 
nur die nackten Algorithmen bleiben, Aber das ist meistens nur ein 
kleiner Teil.

Aber wie schon Konfuzius sagt, jedes Programm beginnt mit einer einzigen 
Anweisung.

Georg
Gast #3657705
Lesenswert?

Georg schrieb:
> zwar funktionieren Dateizugriffe mit _lopen,
> _lseek, _lread noch, sind aber obsolete, auch OpenFile kann noch nicht
> Unicode, aktuell ist CreateFile - d.h. alles umschreiben was mit Datei
> zu tun hat. Und wenn die Software noch auf 8.3-Datenamen eingestellt ist
> wird es sehr hässlich und fehleranfällig.

warum sollte man das umstellen müssen, 8.3 Dateinamen gibt es noch. Auch 
für Unicode funktioniert das. Auch das die obsolete spielt aktuell keine 
rolle.

> Nächste Baustelle: Konfiguration - nix INI-Datei, Registry ist auch
> schon wieder überholt, aktuell gehört eine solche Datei z.B. in
> C:\Users\Administrator.000\AppData\Roaming\RK\TTManager\RKTTManager.INI.

das macht doch Windows von selber, wenn das Programm eine ini Datei im 
Programmverzeichnis nutzt.


Klar kann man das Programm komplett Umschreiben, aber die Frage ist was 
notwendig ist damit es läuft. Und da ist keiner deiner punkte wichtig.
Gast #3657896
Lesenswert?

Hans-Georg Lehnard schrieb:
> Borland c++4 hört sich auch nach OWL als Gui an ..
Ja OWL wird verwendet.....

> Bau dir mit einem aktuellen Compiler eine neue Oberfläche und portiere
> dann eins nach dem anderen den Restcode da hinein.

Darauf wird es wohl hinauslaufen....

> Oder frag mal bei Embarcadero ob der C++Builder XE6 dein altes Programm
> übersetzen kann.

Hab mal angefragt

Besten Dank an alle
#3657904
Lesenswert?

Embarcadero ist auch nicht soo günstig. Hast du denn schon eine Lizenz 
vor Ort verfügbar? Ansonsten würde das wohl auch die Kosten schnell in 
die Höhe treiben. Ansonsten könnte man es auch als Auftrag ausführen für 
einen mit der Lizenz. Quellcode und EXE könnten dann zurückfließen.
Gast #3657921
Lesenswert?

Muss ich mir überlegen, muss mir den Code mal genauer ansehen.
Evt. versuche ich es mit QT (da schon damit gearbeitet), ist zwar blöd 
von Callbacks auf Signal,Slots umzustellen.
Jedoch ist die Applikation nicht so wahnsinnig komplex.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren