-
Forum: Programmieren allgemein
Delphi
by -187-,
7. Dez 2012
Nach wiederholtem Lesen der Dokumentation hab ich festgestellt das ich die Struktur der DB ursprünglich falsch verstanden habe. Naja, jetzt funktioniert es und das Thema kann geschlossen werden.
Danke nochmals für eure Unterstützung.
-187-
-
Forum: Programmieren allgemein
Delphi
by -187-,
6. Dez 2012
Hmm bin eigentlich noch nicht weitergekommen. Das Problem ist, wenn ich die Werte der Datenbank in einem Memo Feld darstellen möchte, wird nur ein Teil des Wertes angezeigt da dieser "Null Terminated Characters" enthält und der Wert nach diesem Character abgeschnitten wird. Jedoch sind es nicht nur #0 Werte sondern auch Sonderzeichen die da eigentlich nicht hingehören.
Ich hab keine Idee. :|
-
Forum: Programmieren allgemein
Delphi
by -187-,
5. Dez 2012
Ok die anfänglichen Probleme des Zugriffs scheinen fürs Erste überwunden. Jedoch stell ich jetzt fest, dass ich seltsame Zeichen in den Datensätzen habe. Erst dachte ich das Delphi 2010 mit btreefiler nicht klar kommt und hab D7 installiert, jedoch hat das nichts verändert. Im Anhang mal ein Bild aus dem Debug Mode wie ein Datensatz beispielsweise aussieht. Jemand eine Idee?
-
Forum: Programmieren allgemein
Delphi
by -187-,
5. Dez 2012
Mein Code funktioniert nicht.
Nein, hab ich nicht.
Edit: Ich habe in der Doku einen anderen Weg gefunden alle Einträge abzufragen und damit scheint es etwas besser zu klappen. Ich probier erstmal weiter, vielleicht hat sich das Problem hier erledigt.
-
Forum: Programmieren allgemein
Delphi
by -187-,
5. Dez 2012
Form.Show() ruft InitDataBase (Funktion) auf. InitDataBase ruft OpenTheFile (Funktion) auf. In OpenTheFile steht:
BTOpenFileBlock (PersFB, FBlock, False, False, False, True);
BTOpenFileBlock sieht so aus:
procedure BTOpenFileBlock(var IFBPtr : IsamFileBlockPtr;
-
Forum: Programmieren allgemein
Delphi
by -187-,
5. Dez 2012
Sobald die Funktion NextPrevRecord durchgelaufen ist, enthält PersFB keinen Wert mehr. Allerdings ist der Wert vor dem letzten end der Funktion noch verfügbar, jedoch im begin Teil der while- Schleife nicht mehr. Woran kann das liegen? :roll:
Ich hab mal ein kleines Video gemacht weil's schwierig zu erklären wäre: (Leider ist die Qualität nicht so gut aber man kann es erkennen.)
...
-
Forum: Programmieren allgemein
Delphi
by -187-,
5. Dez 2012
ShowMessage() liefert den selben Wert.
-
Forum: Programmieren allgemein
Delphi
by -187-,
5. Dez 2012
Also irgendwie läuft hier einiges schief. Bereits nach dem ersten Durchlauf der Schleife hat meine lokale Variable einen seltsamen Wert angenommen. Siehe Anhang!
-
Forum: Programmieren allgemein
Delphi
by -187-,
4. Dez 2012
Genau richtig! Der Code dazu sieht so aus:
function TDemoForm.NextRecord(var P : PersonDef;
var RefNr : LongInt;
KeyNr : Integer;
var Key : IsamKeyStr;
Next : Boolean) : Boolean;
begin
NextRecord := False;
-
Forum: Programmieren allgemein
Delphi
by -187-,
4. Dez 2012
procedure BTGetRec(IFBPtr : IsamFileBlockPtr;
RefNr : LongInt;
var Dest;
ISOLock : Boolean);
{-Gets the specified record from the given reference}
var
Options : Word;
begin
if ISOLock then begin
Options := NoOptions;
-
Forum: Programmieren allgemein
Delphi
by -187-,
4. Dez 2012
Nein, ich weiss auch nicht wie ich da ran komme. Alles was ich gefunden habe ist: (FILER.PAS)
Procedure BTGetRec ( IFBPtr : IsamFileBlockPtr;
RefNr : LongInt;
Var Dest;
ISOLock : Boolean );
{-Gets the specified record from the given reference}
Edit: Moment, habe noch eine Filer.inc gefunden. Muss...
-
Forum: Programmieren allgemein
Delphi
by -187-,
4. Dez 2012
Das ist ja mal gut zu wissen! :thumb:
Aber jetzt doch bitte back2topic :)
-
Forum: Programmieren allgemein
Delphi
by -187-,
4. Dez 2012
Ja der Meinung war ich auch. Jedoch schreibe ich es weil ich's lesbarer finde. Gewohnheit..
-
Forum: Programmieren allgemein
Delphi
by -187-,
4. Dez 2012
Danke für deine Antwort. Das entfernen von = true ändert nichts. Es handelt sich um eine Procedure:
procedure BTGetRec;(IFBPtr : IsamFileBlockPtr; RefNr : LongInt; var Dest; ISOLock : Boolean);
(Aus der Doku)
-
Forum: Programmieren allgemein
Delphi
by -187-,
4. Dez 2012
Hallo,
ich steh vor einem komischen Problem. Und zwar scheint es als würden die Werte meiner Variablen auf Grund eines Methodenaufruf's überschrieben werden.
Jedenfalls konnte ich das im Debugger beobachten. Hat jemand eine Idee?
procedure TDemoForm.Button1Click(Sender: TObject);
var
CurrentRow: Integer;
maxExport : Integer;
Next : Boolean;