![]() |
AW: Variablen werden überschrieben!?
ShowMessage() liefert den selben Wert.
|
AW: Variablen werden überschrieben!?
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.) ![]() |
AW: Variablen werden überschrieben!?
An welcher Stelle wird der Speicher für "PersFB" angefordert und erforderlichenfalls initialisiert, an welcher Stelle wieder freigegeben?
|
AW: Variablen werden überschrieben!?
Zitat:
![]() Zum Thema: da scheint es einen wilden Zeiger zu geben, siehe Blups Frage. Außer in der Assigned-Abfrage habe ich persönlich nichts von PersFB zu Gesicht bekommen, das erscheint mir komisch. |
AW: Variablen werden überschrieben!?
Zitat:
|
AW: Variablen werden überschrieben!?
Zitat:
Form.Show() ruft InitDataBase (Funktion) auf. InitDataBase ruft OpenTheFile (Funktion) auf. In OpenTheFile steht:
Delphi-Quellcode:
BTOpenFileBlock sieht so aus:
BTOpenFileBlock (PersFB, FBlock, False, False, False, True);
Delphi-Quellcode:
Im Form Close wird diese Prozedur aufgerufen:
procedure BTOpenFileBlock(var IFBPtr : IsamFileBlockPtr;
FName : IsamFileBlockName; ReadOnly, AllReadOnly, Save, Net : Boolean);
Delphi-Quellcode:
BTCloseFileBlock(PersFB);
procedure BTCloseFileBlock(var IFBPtr : IsamFileBlockPtr); {-Closes a fileblock} begin IsamEntryCode(IFBPtr, NoOptions); if IsamOK then IsamCloseFileBlock(IFBPtr); IsamExitCode(Pointer (NotAFileBlockPtr)); end; |
AW: Variablen werden überschrieben!?
Eine kleine Frage. Vielleicht steht das auch irgendwo und ich habe es nur überlesen. Die Frage ist - funktioniert dein Code nicht so wie du es dir vorstellst oder interessiert es dich nur wieso Next False ist? Denn darauf kann es zwei verschiedenen Antworten geben.
|
AW: Variablen werden überschrieben!?
Es scheint, als ob zwischen dem BTOpenFileBlock und dem BTCloseFileBlock der Pointer PersFB bzw. die dahinterstehenden Daten irgendwie verloren geht/gehen. Ein FreeMem oder dergleichen hast Du nicht eingebaut?
|
AW: Variablen werden überschrieben!?
Zitat:
Zitat:
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. |
AW: Variablen werden überschrieben!?
Liste der Anhänge anzeigen (Anzahl: 1)
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?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz