Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   BDE Problem mit Delphi XE (https://www.delphipraxis.net/160763-bde-problem-mit-delphi-xe.html)

hanspeter 30. Mai 2011 13:34

Datenbank: Paradox • Version: ? • Zugriff über: BDE

BDE Problem mit Delphi XE
 
Hallo,

ich bin dabei ältere Software auf Unicode und Delphi XE umzustellen.
Leider läuft diese Software noch mit der BDE.
Kann es sein das XE - BDE zu älteren BDE nicht mehr kompatibel ist?
Eine Software läuft auf dem Entwicklungsrechner normal.
Sobald sie jedoch auf einen Kunden (Testrechner) Rechner läuft, funktioniert das Programm nicht mehr richtig.
Beim Kunden ist eine BDE installiert deren Dateidatum in der Installation teilweise 1999 ist.
Hat wer hier Erfahrung?
(Wichtig:Ich muss BDE und will nicht BDE)

Gruß
Peter

jaenicke 30. Mai 2011 13:57

AW: BDE Problem mit Delphi XE
 
Es gibt keine neuen Versionen der BDE mehr. Leider ist das ganze nicht so einfach. Die Bugs der BDE zu umschiffen ist schwer.

Kann es sein, dass auf dem Zielrechner Windows Vista oder Windows 7 läuft? Dann schlag am besten den XPMode vor. Denn die BDE ist leider absolut inkompatibel dazu. Wir haben viel Zeit investiert um bis zur Ablösung der BDE in unserer Software das ganze stabil zu bekommen. Das funktioniert aber nicht immer 100%ig.

Du kannst das ganze mit SHAREDMEMLOCATION und ähnlichen Einstellungen in der bdeadmin einigermaßen hinbekommen, aber spätestens im Mehrbenutzerbetrieb mit Netzwerkzugriffen bricht das ganze komplett zusammen.

Elvis 30. Mai 2011 14:13

AW: BDE Problem mit Delphi XE
 
Gibt es keine Tools für Delphi, die einem zeigen welche Member der BDE-bezogenen Klassen in eurem Code benutzt werden?
Denn dann könntet ihr abschätzen wieviel Aufwand es wäre, diese Member in eigenen Implementierungen nachzubauen.
Für Paradox gibt es da zum Beispiel Komponenten, die das vorübergehend ganz gut könnten.

In dem Schritt kann man auch gleich die letzten 2 1/2 Jahrzehnte hinter sich lassen, und von Paradox auf SQLite zu wechseln (oder gar auf einen zentralen DB Server).

Dann bräuchtet ihr natürlich ein Upgrade-Tool eurer Datenstruktur, aber ich kann mir kaum vorstellen, dass eure Kunden wirklich in alle Ewigkeit richtiges, hartes Geld für etwas ausgeben wollen, von dem man einfach weiß, dass es ein Pulverfass als Datastore benutzt. (Der Sperrmechanismus von Paradox ist nicht gerade für seine Vertrauenswürdigkeit bekannt ;-) )

Jeder Tag, den ihr Arbeitszeit daran vergeudet, etwas mit der BDE hinzukriegen, ist komplett vergeudet, da du sie unter x64 maximal gefickelt wenn überhaupt installiert bekommst.

jaenicke 30. Mai 2011 16:15

AW: BDE Problem mit Delphi XE
 
Zitat:

Zitat von Elvis (Beitrag 1103739)
Jeder Tag, den ihr Arbeitszeit daran vergeudet, etwas mit der BDE hinzukriegen, ist komplett vergeudet, da du sie unter x64 maximal gefickelt wenn überhaupt installiert bekommst.

Die Installation an sich war kein Problem und ich nutze sie auch unter Windows 7 64-Bit öfter, wenn ich an einer bestimmten Software arbeite oder diese starte und debugge.

In der Regel läuft es auch stabil. Aber nur solange wie ich nur ein Programm parallel zugreifen lasse und keine Netzwerkzugriffe nutze. Starte ich mehrere Sachen knallt es auch mal. Deshalb ist es für einen Kunden kaum zumutbar. Mich stört das hier weniger.

gb0 30. Mai 2011 18:40

AW: BDE Problem mit Delphi XE
 
Meine alte BDE läuft auf einem Win7U 64-bit tadellos und sie sollte - wenn nicht mit Delphi installiert - mit Manifest-File installiert werden.
Voraussetzung natürlich: 32-bit BDE. Diese Version heißt 5.02 oder 5.20 (müsste bei Bedarf nachsehen, was ich momentan nicht kann).
Klar natürlich: mit Unicode geht da nichts mehr. Ich habe die BDE noch installiert, weil meine eigenen Daten z.T. noch im dBase-Format vorliegen und ich selbst noch nicht dazugekommen bin, ALLES von diesem Format weg zu bekommen.
Wenn mehrere Programme auf die BDE Zugriff haben sollen, so war es immer schon ein Problem, weil es die BDE nur EIN EINZIGES MAL auf dem System geben darf! Somit hat jedes neu installierte Programm (früher wurde die BDE noch öfter mitgeliefert) die vorher bestehenden Einstellungen bei der Installation zerstört. Das lag/liegt aber an den Config-Files der BDE. Die letzte Installation hat alles Vorherige einfach durch Überschreiben und ohne Vorwarnung gelöscht. Unter der Annahme, dass zwei Programme Zugriff auf die BDE haben sollten, ließ sich durch Zusammenführen/-kopieren der beiden Files in EINEN neuen, der den Ansprüchen beider 'Interessenten' im Hinblick auf ALIAS usw Genüge tat, das Problem eigentlich immer lösen. Habe aber mit Paradox noch im 16-bit-Zeitalter aufgehört, weiß da wohl zu wenig, kann mir aber nicht vorstellen, dass es anders ist. An sich hat das aber nicht wirklich mit den neuen Betriebssystemen zu tun.
Gruß
Günther

jaenicke 30. Mai 2011 18:59

AW: BDE Problem mit Delphi XE
 
Zitat:

Zitat von gb0 (Beitrag 1103789)
An sich hat das aber nicht wirklich mit den neuen Betriebssystemen zu tun.

Doch, zumindest die Netzwerkzugriffe funktionieren nicht mehr, weil das SMB-Protokoll, das die gemeinsamen Dateizugriffe auf eine Datei im Netzwerk regelt seit Vista ein neues ist.
Seit einem Patch im Frühjahr letzten Jahres für XP, der an diesem Protokoll Sicherheitslücken gestopft hat, funktioniert es auch unter XP immer schlechter.

Dazu kommt, dass sich mit Vista das Speichermanagement geändert hat, so dass mehrere parallel laufende Programme, die auf die BDE zugreifen schon mal bisweilen den Fehler bringen, dass die BDE nicht initialisiert werden konnte. Mit ShareMemLocation kann man da ein wenig versuchen zu verbessern, aber irgendwann knallt es halt doch wieder.

Und bei Netzwerkzugriffen ist es absolut reproduzierbar, dass es ab Vista nach wenigen Zugriffen knallt.

gb0 30. Mai 2011 19:29

AW: BDE Problem mit Delphi XE
 
Allerdings haben sich auch meine Angaben nur auf die Arbeit an EINEM Rechner (also ohne das Netz zu bemühen) bezogen...

Dass sich von der BDE keine zweite oder dritte Instanz erzeugen ließ (Fehlermeldung irgendwas mit 'Fenster konnte nicht erzeugt werden' oder so), kenne ich im Zusammenhang mit längerem Arbeiten an einem WinXP(SP3)-Rechner - Behebung durch Herunterfahren u Neustart des OS möglich. Deutet allerdings auf so etwas hin:
Zitat:

Dazu kommt, dass sich mit Vista das Speichermanagement geändert hat, so dass mehrere parallel laufende Programme, die auf die BDE zugreifen schon mal bisweilen den Fehler bringen, dass die BDE nicht initialisiert werden konnte. Mit ShareMemLocation kann man da ein wenig versuchen zu verbessern, aber irgendwann knallt es halt doch wieder.
Gruß
Günther

mschaefer 31. Mai 2011 08:07

AW: BDE Problem mit Delphi XE
 
Wenn es nur um einen Einzelplatzbetrieb geht, gibt es noch die Möglichkeit die BDE-dll´s im Programm direkt zu laden und die BDE überhaupt nicht zu installieren. So kommen sich Programme nicht in die quere. Aus lizensrechtlichen Gründen, durfte man sowas nur nie weitergeben, aber als Inhouse-Lösung lauft das gut, auch noch unter Win7.

hanspeter 31. Mai 2011 10:29

AW: BDE Problem mit Delphi XE
 
Zitat:

Zitat von mschaefer (Beitrag 1103865)
Aus lizensrechtlichen Gründen, durfte man sowas nur nie weitergeben, aber als Inhouse-Lösung lauft das gut, auch noch unter Win7.

Leider.

Das Programm läuft als Einzelplatzversion auf hunderten von Maschinen weltweit und ist embeded Software auf einer Masschinensteuerung (Prozessrechner).
Hier ist werder ein einfacher Austausch der Software möglich, noch eine eben mal Umstellung auf eine andere Datenbank.
Die Maschinen sind in der Fertigung ausgelaufen und die neue Generation wird nicht mehr in Delphi und schon garnicht mit der BDE programmiert.
Für die bei dem Wort BDE schon fast reflexhaften Ablösungsratgeber, das ist nicht zuletzt eine Kostenfrage.
Mein letztes von BDE auf Firebird und Unicode umgestelltes Projekt hat Kosten verursacht die weit im 6 stelligen Bereich lagen.
Bei Kosten in diesem Bereich ist ein Entwicklungssystem für mich nicht zukunftssicher, wenn der Hersteller eine Basistechnologie seines Systems mal ebenso als obsolete erklärt und nicht mehr unterstützt.
Zumindest eine Komponente ähnlich wie IBDAC/Unidac/Dbexpress für Paradox hätte man gebrachen können.

Gruß
Peter

MEissing 31. Mai 2011 10:35

AW: BDE Problem mit Delphi XE
 
Zitat:

Zitat von hanspeter (Beitrag 1103883)
Bei Kosten in diesem Bereich ist ein Entwicklungssystem für mich nicht zukunftssicher, wenn der Hersteller eine Basistechnologie seines Systems mal ebenso als obsolete erklärt und nicht mehr unterstützt.

Die BDE unterstützen wir seit Delphi 7 nicht mehr ("deprecated technology).
dbExpress wurde mit Delphi 6 eingeführt.

Das war in Jahre 2001/2002.

Union 31. Mai 2011 10:44

AW: BDE Problem mit Delphi XE
 
Und wenn Du es mal mit dieser Komponente versuchst oder einer anderen Alternative für den Zugriff auf Paradox?

Bernhard Geyer 31. Mai 2011 10:55

AW: BDE Problem mit Delphi XE
 
Zitat:

Zitat von hanspeter (Beitrag 1103883)
Bei Kosten in diesem Bereich ist ein Entwicklungssystem für mich nicht zukunftssicher, wenn der Hersteller eine Basistechnologie seines Systems mal ebenso als obsolete erklärt und nicht mehr unterstützt.

Es gab bei Delphi einige Bereiche (CLX, VCL.NETT) die "mal ebenso als oblsolut" erklärt wurden und wo man mehr als Sauer auf den Hersteller sein kann. Die BDE gehört definitiv nicht dazu. Die Abkündigung erfolgte schon vor >= 10 Jahren! Es war genügend Zeit darauf zu reagieren.

Und MS (auf die ihr ja mit .NET gewechselt seit) hat hier auch ein paar abgekündigte Entwicklungen die mit Sicherheit bei einigen Nutzern mehr als Freude ausgelöst hat. Selbst im .NET-Bereich gibts hie ein paar Beispiele.

mschaefer 31. Mai 2011 11:14

AW: BDE Problem mit Delphi XE
 
So zum praktischen: Paradox lesen geht mit der Paradox-DataSet-Komponente von Pavel Kudriavtsev. Als Vergleich würde ich nicht die Umstellung auf Firebird/Interbase heranziehen, sondern eher auf SQLite. Im Maschinenbau laufen auch meiner Erfahrung nach viele Delphi-Anwendungen.

hanspeter 31. Mai 2011 11:57

AW: BDE Problem mit Delphi XE
 
Die Generation wurde 1998 bis 2002 entwickelt und gebaut. Die Maschinen haben eine Standzeit von 10 bis 15 Jahren.
Die Probleme kamen auf, da teilweise auch ältere Maschinen in ein neu entwickeltes Managementsystem eingebunden werden sollen bzw. da teilweise Leitwartenrechner erneuert werden und mit Windows7 auftauchen.
Wir selbst arbeiten was Delphi angeht noch mit Delphi 5.
Ich habe übrigens nirgendwo geschrieben, das die Software auf Net umgestellt wird.

Gruß
Peter

mschaefer 31. Mai 2011 12:08

AW: BDE Problem mit Delphi XE
 
Über die Laufzeiten meiner Programme staune ich auch immer wieder. Würde jetzt mal tippen, dass alleine schon durch das Windows-Update der Rechner irgendwann die BDE kaltgestellt hat. Irgenwie denke ich aber auch, dass ein Kunde auch Updates kaufen darf, wenn schon in das restliche System investiert wird.


PS: Würde es auf SQLite umstellen und obige Komponente zum Einlesen der Kundendaten zu nehmen.

hanspeter 31. Mai 2011 12:23

AW: BDE Problem mit Delphi XE
 
Zitat:

Zitat von mschaefer (Beitrag 1103906)
Irgenwie denke ich aber auch, dass ein Kunde auch Updates kaufen darf, wenn schon in das restliche System investiert wird.

Die Maschinen sind bereits abgeschrieben. Die laufen irgendwo in Asien, da ticken die Uhren anderst.
Die neue Software verwendet als Datenbasis wahlfrei Firebird oder MSSQL.

Peter

Bora4d 31. Mai 2011 15:46

AW: BDE Problem mit Delphi XE
 
Kontrolliere ob 'NET-DIR' auf einen Ordner zeigt dass dein Kunde schreibzugriff hat.
Standardmäßig zeigt NET-DIR auf C: und unter xp und neuere Windows haben standard Benutzer kein Schreibzugriff auf Stammverzeichnis.

Bernhard Geyer 31. Mai 2011 15:48

AW: BDE Problem mit Delphi XE
 
Zitat:

Zitat von hanspeter (Beitrag 1103904)
Ich habe übrigens nirgendwo geschrieben, das die Software auf Net umgestellt wird.

Da habe ich dann wohl voreilige geschlossen. Bei euch wird doch sonst alles neue mit .NET erstellt, oder?

hanspeter 31. Mai 2011 16:04

AW: BDE Problem mit Delphi XE
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1103942)
Zitat:

Zitat von hanspeter (Beitrag 1103904)
Ich habe übrigens nirgendwo geschrieben, das die Software auf Net umgestellt wird.

Da habe ich dann wohl voreilige geschlossen. Bei euch wird doch sonst alles neue mit .NET erstellt, oder?

Unterschiedlich. Für kleinere Programme ja. Im Steuerungsbereich C++ und Qt.

Peter

mkinzler 31. Mai 2011 16:05

AW: BDE Problem mit Delphi XE
 
Qt wird ja aber leider auch Sterben


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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