Autor Beitrag
delphia
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Fr 20.05.16 16:54 
Hallo,

ich habe hier eine ältere Applikation zu pflegen, daher D5#1 und DBISAM 2.12. Keine Chance zu wechseln.

Zum Problem: Zur Laufzeit werden mehrere Tables erzeugt und über eine einfach Anweisung wie diese

ausblenden Quelltext
1:
2:
3:
tbl.IndexName := 'secondary';
tbl.Mastersource := dstAdressen;
tbl.MasterFields := 'ID';


zum Detail einer bereits zur Designzeit erzeugten Mastertabelle.
Alles arbeitet einwandfrei, die Detail Datensätze werden sauber gelistet. Außer in einem Fall, nämlich dann, wenn in dem vereinbarten Index ein Textfeld enthalten ist. Das erste Feld im Index "secondary" ist immer die "ID", danach kann das Textfeld an beliebiger Stelle kommen. Entfernt man das Textfeld aus dem Index, arbeitet alles wie erwartet. Setzt man es wieder ein, werden keine Datensätze mehr gelistet.

Als workaround habe ich anstatt dieser Verknüpfungen eine mit Ranges codiert. Damit zeigt sich das gleiche Verhalten. Alles gut, bis ein Textfeld im Index ist.

Fragen:
Habe ich evtl etwas Grundlegendes übersehen?
Ist der Fehler bei DBISAM bekannt? Von Elevate ist nichts zu erfahren, wegen deren Supportpolitik (kein Plan, keine Auskunft).
Ist das evtl ein Fehler der TDataset-Implementation in D5?

Bin für alle sachdienlichen Hinweise dankbar. Vielen Dank für die Aufmerksamkeit.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 20.05.16 17:32 
- Nachträglich durch die Entwickler-Ecke gelöscht -
delphia Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 21.05.16 13:25 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Datenbanken sind eher eine Schwachstelle von mir. Solange sich hier keiner findet der helfen kann, würde ich dir diesen Beitrag anbieten. Es erklärt so einen ähnlichen Anwendungsfall. Ich muss dich jetzt leider verlassen, denn ich habe noch einiges vor mir.


Danke, aber das habe ich schon gelesen. Ich versuche ja bevor ich hier frage, die Sache selbst zu regeln.