Announcement

Collapse
No announcement yet.

Delphi5 mit ADO-Schnittstelle zu MS Server 2008 R2

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Delphi5 mit ADO-Schnittstelle zu MS Server 2008 R2

    Hallo zusammen
    Ich muß eine alte Anwendung ( Delphi5 mit Paradox-Tabellen über BDE ) umschreiben mit Zugriff auf MS SQL Server 2008 über die ADO-Schnittstelle.
    Seit Tagen versuche ich die Fehler von ADO ( Fehlermeldung: Beim Schließen der Anwendung --> BoF oder EoF , aktuelle Funktion benötigt gültigen Datensatz )
    auszugrenzen - aber leider bin ich bisher erfolglos.
    Ich habe auch schon einiges darüber gelesen !

    WAS IST ZU TUN UM DEN FEHLER ENDGÜLTIG ZU BESEITIGEN ?

    Für jegliche Hilfe und konstruktive Tip's wäre ich danbar

    andreas43

  • #2
    Ich schätze, Du hast irgendwo Code in einer AfterScroll Routine oder so, der ausgeführt wird, obwohl das Dateset schon geschlossen wurde. Das ist aber reine Spekulation, da Du hier den Code nicht zeigst.
    Entweder Du gehst da per Debugger durch oder Du zeigst hier den Code. Versuch es so oder so, so weit wie möglich einzugrenzen. Wahrscheinlich willst Du nicht Dein gesamtes Programm posten und es will sich auch niemand hier alles durchlesen.
    Gruß, defo

    Comment


    • #3
      Hallo defo
      Der Quell-Code wäre zu umfangreich. Das Programm läuft auch durch - nur wenn ich es schließe kommt der Fehler - obwahl ich alle Dataset's geschlossen habe !

      Gruß
      Andreas43

      Comment


      • #4
        ne, der Fehler kommt eher, weil Du alle Datasets geschlossen hast.
        Ich schrieb dagegen, Du führst (noch) Code aus, obwohl die Datasets bereits weg sind.

        Also angenommen Du hast das Programm offen (aus der IDE gestartet) und befindest Dich in Maske 29.
        In der IDE kannst Du vorsichtshalber auf alle Events, die was mit Dataset machen (afterscroll, afterpost, .. usw.) Breakpoints setzen.
        Nun schließt Du die Anwendung (ohne die Maske zu verlassen) und folgst mit dem Debugger dem Code.

        Ich vermute Du wirst irgendwann zu (mindestens) einer Stelle kommen, die auf ein Dataset zugreift, das Dataset ist aber bereits NIL.
        An diesen Stelle musst Du den Code so ändern, dass er selber prüft, ob das Dataset instanziert ist und nur dann fortfahren mit dem vorgesehenen Code, ansonsten exit();
        Gruß, defo

        Comment

        Working...
        X