Autor |
Beitrag |
Knulli
Beiträge: 116
Erhaltene Danke: 2
Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
|
Verfasst: Mo 26.08.13 13:06
Hi Leute,
ich denke, es wird langsam Zeit auch in 64 die bittige Welt einzusteigen. Ich weiß aber auch nicht, ob es wirklich Vorteile bringt.
Gibt es irgendwelche Gemeinheiten, die auf mich warten, wenn ich in die 64 Bit Welt einsteigen will?
Wir haben bisher mit D2007 Win32 VCL Anwendungen geschrieben. Hat jemand sowas schon erfolgreich migriert? Wo liegen Fallstricke und wo kann es in endloser Arbeit ausarten?
Ab welcher Version ist 64 Bit drin?
Brauche ich getrennte Setups für 32 und 64 Bit? Gibts Optionen wie: Soll zum Schluß auf 32 Bit UND 64 Bit Windows laufen?
mfg Knulli
|
|
Nersgatt
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Mo 26.08.13 13:12
Mal doof gefragt: welche Vorteile erwartest Du denn davon, 64 bit Kompilate erstellen zu können?
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Für diesen Beitrag haben gedankt: Martok, Mathematiker, zuma
|
|
Lemmy
Beiträge: 792
Erhaltene Danke: 49
Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
|
Verfasst: Mo 26.08.13 22:40
Nersgatt hat folgendes geschrieben : | Mal doof gefragt: welche Vorteile erwartest Du denn davon, 64 bit Kompilate erstellen zu können? |
steht doch da: Er weiß nicht welche Vorteile das bringt.
Ich weiß nicht was Du für Software machst, aber wenn Du bisher nicht den Bedarf hast 64Bit Versionen an deine Kunden zu liefern, dann brauchst Du das auch nicht. Allerdings denke ich persönlich, dass in den aktuellen Versionen genug Vorteile dabei sind, dass es sich lohnt auf ein XE5 (das die nächsten Wochen kommt) umzusteigen (z.B. ClassHelpers, IDE Funktionen, For-Each, Generics,....).
Dann kannst Du auch problemlos mal eine 64bit Version erstellen. Allerdings musst Du halt die Unicode-Hürde nehmen (incl. Komponenten von Dritthersteller). Bücher usw. hat Marco Cantu geschrieben, die lohnen sich mal anzuschauen...
Nachtrag: Ich habe ein Delphi 7 Programm auf XE migriert, ein Delphi 5 Programm kommt im nächsten halben Jahr dran.
|
|
MeierZwoo
Beiträge: 94
Erhaltene Danke: 11
Win 7, DOS5
Delphi 2007 Architect, BP7/TP5, LISP, PS
|
Verfasst: Mo 26.08.13 23:08
Knulli, die Fallstricke lauern nicht so sehr bei 32bit auf 64bit, sondern in deinem Fall von 2007 Nicht-Unicode zu Unicode, wie auch schon gesagt wurde.
Bei einem Wechsel auf höhere Bit-Werte kann es, egal von welchem BitWert (8, 16, 32) Probleme mit abgespeicherten Daten geben, die per Puffer und nicht ausgerichtet weggeschrieben wurden, weil dann die Datentypen andere Größen aufweisen können (zB speziell Integer unter 16 Bit 2 Byte, unter 32 bit 4 Byte ... ). Welche Datentypen sich von 32 auf 64 Bit ändern, weiß ich nicht, ich hab das eben nur beim Integer bei 16 auf 32 gemerkt, und bei als Puffer weggeschriebenen Typen.
Dasselbe gilt bei dir auch durch nicht-Unicoe zu Unicode: ein "Char" hat dann size=2 statt vorher 1, und ein "string" dann const size=4 (32bit) (weil nun Pointer), der Zugriff auf string[0] (vorher Längenbyte) liefert nun einen Fehler usw. usw..
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 26.08.13 23:09
Hallo,
Lemmy hat folgendes geschrieben : | Nersgatt hat folgendes geschrieben : | Mal doof gefragt: welche Vorteile erwartest Du denn davon, 64 bit Kompilate erstellen zu können? |
steht doch da: Er weiß nicht welche Vorteile das bringt. |
Und genau so geht es mir. Mit meinem steinalten Delphi 5 frage ich mich dies auch.
Lemmy hat folgendes geschrieben : | Nachtrag: Ich habe ein Delphi 7 Programm auf XE migriert, ein Delphi 5 Programm kommt im nächsten halben Jahr dran. |
Schön wäre es, wenn Du sagen könntest, was es gebracht hat. Dass die modernen "Delphi" mehr Möglichkeiten in der Programmierung bieten, ist mir schon klar, aber lohnt es sich, funktionierende Programme auf 64 bit umzustellen.
Konkret: Werden die Programme schneller oder stabiler? Oder was sonst?
Natürlich ist mir klar, dass irgendwann die 32bit-Programme das gleiche Schicksal ereilt, wie jetzt die 16bit-Programme. Irgendeine Windows-Version wird sie in Zukunft nicht mehr abarbeiten.
Aber bis dahin?
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
MeierZwoo
Beiträge: 94
Erhaltene Danke: 11
Win 7, DOS5
Delphi 2007 Architect, BP7/TP5, LISP, PS
|
Verfasst: Mo 26.08.13 23:36
Ich hatte vorkurzem 32bit vs. 64bit Win getestet: Ergebnis: keins
Bei 64bit Programmen ist wohl z.Z. der einzige Vorteil der wesentlich größere
Datenbereich, was sich z.b. bei Arrays etc. bemerkbar macht.
Mathematiker, bei deinem "steinalten" Delphi 5 ist wohl Unicode das Problem bei Umstieg.
Es ist auch auffällig, daß viele kommerzielle Anbieter von Units für Delphi vor 2009/Unicode ihre Pflege eingestellt haben, entweder nur bis 2007 anbieten oder den 2007-Quellcode freigegeben haben.
Dasselbe gilt auch für Anwendungsprogramme, bei denen der Übergang zu Unicode ziemlich holprig verlief - vorallem wg. der dümmlichen M§ "Strategie", nicht ganz auf UTF-8 zu setzen sondern Big/Little-Indian incl. BOM zu pflegen.
|
|
Lemmy
Beiträge: 792
Erhaltene Danke: 49
Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
|
Verfasst: Di 27.08.13 06:34
Mathematiker hat folgendes geschrieben : |
Schön wäre es, wenn Du sagen könntest, was es gebracht hat. Dass die modernen "Delphi" mehr Möglichkeiten in der Programmierung bieten, ist mir schon klar, aber lohnt es sich, funktionierende Programme auf 64 bit umzustellen.
Konkret: Werden die Programme schneller oder stabiler? Oder was sonst?
Natürlich ist mir klar, dass irgendwann die 32bit-Programme das gleiche Schicksal ereilt, wie jetzt die 16bit-Programme. Irgendeine Windows-Version wird sie in Zukunft nicht mehr abarbeiten.
Aber bis dahin?
|
da es sich hierbei um 2 "kleine" Datenbankanwendungen handelt, lohnt es sich nicht, diese auf 64bit umzustellen, weil weder die Anforderung der DB nach 64 bit (wegen der Möglichkeit mehr RAM zu verwenden) noch der der Anwendung da ist, diese "nativ" laufen zu lassen.
Für mich wichtigster Grund (nach den neuen Features) umzusteigen ist, dass ich endlich die alte IDE los werde und damit auch XP, weil Delphi 5 und 7 mir auf aktuellen OS das Problem bereiten, nach einem halben Jahr schlicht weg nicht mehr zu funktionieren.
Da ich zumindest eines der Programme von Grund auf gemacht habe, weiß ich, dass ich dort keinerlei krumme Dinger gedreht habe und deshalb weiß ich, dass ich davon ohne Probleme eine 64bit Anwendung machen kann. d.h. es wird dann vermutlich davon eine 64bit Version geben, die im Grunde aber nur ein Abfallprodukt ist, weil ich keinerlei Umstellungsaufwand (Pointer usw) habe.
Und die Zukunft? Die kommt schneller als man denkt: letztes Jahr hatte ich eine Anfrage eine 16Bit Software (Delphi 1) auf 32/64 bit umzustellen. Die Software steuerte bzw nahm Messwerte eines Geräts entgegen. Warum denn mit der Umstellung auf eine aktuelle IDE so lange warten bis es wirklich gar nicht mehr anders geht? Der Aufwand wächst ins Unermessliche bzw. endet am Schluss in der Neuentwicklung....
Grüße
|
|
Tranx
Beiträge: 648
Erhaltene Danke: 85
WIN 2000, WIN XP
D5 Prof
|
Verfasst: Di 27.08.13 07:25
Also ich habe meine Software (Datenbankanwendung) auch lange gesträubt, auf 64bit anzuwenden. Dabei arbeite ich immer noch mit Delphi 5. Somit ist wohl die Software immer noch eine 32bit-Software. Sie läuft aber problemlos auf 64-bit Windows 7. Das hätte ich im Leben nicht gedacht. Ich weiß nicht, ob man unbedingt alles auf 64-bit umstellen muss. Gerade Messwertübernahme ist fragwürdig, da oft die Komponenten dafür uralt sind (tewilweise noch RS232 oder USB-RS232-Emulationen). Bei uns ist der größte Teil der Messwertsoftware noch 32-bit.
Aber sicher wird in Zukunft alles auf 64-bit umgestellt. Nur wie lange das dauert, ist in den Sternen.
_________________ Toleranz ist eine Grundvoraussetzung für das Leben.
|
|
Nersgatt
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Di 27.08.13 07:54
Genau darauf, wie sich die Diskussion entwickelt, wollte ich raus. Wenn man nicht weiß, welche Vorteile man von 64bit hat, dann braucht man es vermutlich nicht.
Die Vorteile sind ja schnell abgesteckt:
der größere Speicherbereich den man theoretisch nutzen kann. Der größte Teil der Anwendungen werden aber schon den heute zur Verfügung stehenden Speicherbereich nicht wirklich ausnutzen. Schonmal gar nicht ein Datenbankanwendung, wenn da nicht irgendwas mit Grafikbearbeitung und Videobearbeitung, etc. drin ist.
Und dann ist da noch die Möglichkeit, Services zu entwickeln, die auf einem 64bit-System auch so kompiliert sein müssen.
Ansonsten laufen eigentlich alle "normalen" Anwendungen als 32-bit-Kompilate problemlos auf 64-bit-Systemen, wenn man die paar Hürden mit den unterschiedlichen Ordnern (Program Files vs. Program Files (x86) und der Registry (wenn das Programm aus der 32-bit-Anwendung auf einen 64-bit-Schlüssel zugreifen möchte).
Fallen euch weitere Vorteile ein? Mir nicht.
Unbestritten ist natürlich, dass die neuere IDEs angenehmer zu bedienen sind, weil sie neue, wirklich nützliche, Features haben und es natürlich auch wirklich feine neue Sprachfeatures gibt. Da kann natürlich der Wunsch keimen, alle eigene Software auf eine aktuelle Version zu migrieren, um die alten Entwicklungsumgebungen "los zu werden".
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
jaenicke
Beiträge: 19276
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 27.08.13 08:34
Nersgatt hat folgendes geschrieben : | Fallen euch weitere Vorteile ein? Mir nicht. |
Fließkommaberechnungen sind drastisch schneller. Andere Sachen sind teilweise eher leicht langsamer, aber das fällt meistens kaum ins Gewicht. Wenn man aber viele Fließkommaberechnungen macht, ist deren Beschleunigung meistens deutlich spürbar.
Weitere Vorteile bei 64-Bit sind z.B. die sauberen Stackframes und die einheitliche Aufrufkonvention.
|
|
Knulli
Beiträge: 116
Erhaltene Danke: 2
Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
|
Verfasst: Mi 30.10.13 10:53
Ich glaube, daß mit dem größeren Speicherbereichen ist schon nicht zu verachten.
Ich hatte in der Vergangenheit des öfteren schon mal irgendwelche Messungen von Kunden gehabt, die in der Analyse ein "Out of Memory" erzeugt haben, weil ich eben die ganze Datei (bis zu mehreren hundert MB lang) in den RAM geladen habe (Array of irgend ein Record), bevor analysiert wird.
unicode vs. non unicode:
Bestehen nun alle strings aus 2 Byte Zeichen, bzw. alle Zeichen aus zwei Byte? Ich hab mal was von MBCS (war noch zu Visual Basic Zeiten) gehört, wo es noch vom Zeichen selber abhängt, ob ein ODER(!!) zwei Byte verwendet werden. Klingt zum Kot..n!!
Ist das auch Unicode??? Heißt das, daß man sich mit solchen Dingen rumärgern muß?
Was ist mit Aufrufen der Windows-API? Muß das auch alles umgefummelt werden?
@jaenicke: erklär mal "Stackframes"
Knulli
|
|
jaenicke
Beiträge: 19276
Erhaltene Danke: 1741
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 30.10.13 16:30
Knulli hat folgendes geschrieben : | Bestehen nun alle strings aus 2 Byte Zeichen, bzw. alle Zeichen aus zwei Byte? Ich hab mal was von MBCS (war noch zu Visual Basic Zeiten) gehört |
In Delphi sind es derzeit immer zwei Byte für UnicodeStrings, aber das ist nicht in Stein gemeißelt, so dass man immer mit SizeOf(Char) arbeiten sollte.
Knulli hat folgendes geschrieben : | Was ist mit Aufrufen der Windows-API? Muß das auch alles umgefummelt werden? |
Wenn sie sauber programmiert wurden funktioniert es in der Regel ohne Anpassungen.
Sprich ShellExecute mit PChar, ShellExecuteW mit PWideChar, ...
CreateProcess ist eine Ausnahme, da man dort bei der Unicodevariante keinen konstanten String übergeben darf. (Das ist in der Windows API so vorgegeben.)
Knulli hat folgendes geschrieben : | @jaenicke: erklär mal "Stackframes" |
Das ist etwas umfangreicher...
eli.thegreenplace.ne...me-layout-on-x86-64/
|
|
|