Ich bin mir nicht sicher, ob das eine ADS-Spezialität ist. Aber vor der Umstellung lief der Code sauber.
Ich hatte ja vergangenes Jahr eine Reihe von DB-Funktionen in eine Sequenze-Schleife gelegt, weil es ständig nur noch Betriebssystemfehloer gab nach der Serverumstellung. U. a. auch DbSeek(). Ich habe mir eine Funktion geschrieben, die drei Parameter übergibt: Suchbegriff, lSoftSeek, cSuchindex. Der erste Parameter ist natürlich zwingend, die anderen nicht. Wenn ich auch aus Angewohnheit den Indexnamen meistens mitgebe.
Nun ist mir gerade fogendes aufgefallen: Eine Mitabreiterin sprach mich darauf an, das Daten auf den Ausdrucken fehlen würden. Die waren vor der Umstellung immer da. Ich bin dann mal im Debugger durchgegangen, und war irritiert: Die Parameter in der myDbSeek() waren: cSuchbegriff, NIL, NIL. Also nichts ungewöhnliches. Das DbSeek() in der Sequenze-Schleife gab aber ein .F. zurück! Obwohl der Suchbegriff definitiv vorhanden ist, und es auf dieser dbf auch nur einen einzigen Index gibt, der automatisch beim Öffnen der dbf mit geöffnet wurde. Eine weitere Kontrolle im Debugger ergab, das der Satzzeiger wider Erwarten nicht auf EoF() steht. Sondern auf dem korrekten, gesuchten Satz. Warum also ein Return .F. von DbSeek()?
Mir ist das schon enimal in einer anderen dbf aufgefallen. Übereinstimmung zwischen den beiden ist, das die jeweils nur einen einzigen Index haben. Kann das irgendwas damit zu tun haben? Wär ja irre.
Jan
DbSeek ist .F., der Satz steht aber korrekt
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
DbSeek ist .F., der Satz steht aber korrekt
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: DbSeek ist .F., der Satz steht aber korrekt
Kann es nicht vielmehr sein, dass Du im Debugger nicht den DbSeek() in der richtigen Workarea abgefragt hast?
Du abreitest doch sonst immer mit WA->( DbSeek(...) ), oder?
Viele Grüße,
Martin
Du abreitest doch sonst immer mit WA->( DbSeek(...) ), oder?
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: DbSeek ist .F., der Satz steht aber korrekt
Martin,
doch ich habe im Debugger definitiv den korrekten Bereich gehabt. Es klappt ja auch korrekt, nachdem ich den dritten Parameter in die myDbSeek() eingebaut habe. Was ansich ja sinnlos ist, da es nur einen Index gibt, also auch nur der eine aktiv sein kann.
Jan
doch ich habe im Debugger definitiv den korrekten Bereich gehabt. Es klappt ja auch korrekt, nachdem ich den dritten Parameter in die myDbSeek() eingebaut habe. Was ansich ja sinnlos ist, da es nur einen Index gibt, also auch nur der eine aktiv sein kann.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.