Announcement

Collapse
No announcement yet.

Zugriffsverletzung unter Win2000 Pro

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

  • Zugriffsverletzung unter Win2000 Pro

    Hallo alle zusammen,

    ich habe ein größeres Projekt (mehrere Datenmodule mit ca. 20 Datasets, alles Zugriff via ADO auf Oracle) bisher auf einer W98 Maschine entwickelt und die App auch auf einen stabilen Entwicklungsstand gebracht. Jetzt habe ich vor einigen Tagen meine Entwicklungsumgebung auf eine W2000 Pro Maschine verlegt. Nun tritt folgendes Phänomen auf: Beim Beenden der App innerhalb der Entwicklungsumgebung (Delphi5 Pro) erscheint immer eine Schutzverletzung. Starte ich die Anwendung Standallone ist alles ok - nur unter Delphi halt nicht. Auch das Debuggen des Programmendes brachte keinen greifbaren Erfolg. Der Code verläuft sich in irgendwelchen asm-Programmteilen der Unit System bevor die Schutzverletzung auftaucht.

    Hat jemand eine Idee wo ich dort ansetzen könnte? Wie gesagt - im normalen Einsatz - auch auf anderen PC (W95/W98) tritt der Fehler nicht auf, aber man zuckt doch jedesmal wieder zusammen und ich würde es gerne abstellen.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

  • #2
    Hallo,

    taucht bei dieser Fehlermeldung irgendwo NTDLL.DLL als Zeichenkette auf

    Comment


    • #3
      Hallo Andreas,

      Nein, die NTDLL.DLL taucht nicht auf. Ich glaub nicht das es hilft aber hier ist die Fehlermeldung: 'access violation at 0x6a5dd9c6: read of address 0xfeeefef6'

      Gruß Fal
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Moin Falk,<br>
        <br>
        ich bin mir ziemlich sicher, dass es sich nicht um eine Adresse in einer üblichen System DLL handelt, die werden üblicherweise auf 0x77xxxxxx gemappt (zumindest unter W2K).<br>
        Da die Standardadresse bei Delphi Projekten bei $00400000 liegt, liegt die Vermutung nahe, dass es sich dabei um eine MDAC bzw. Oracle DLL o.ä. handelt.<br>
        Die Adresse von der gelesen werden soll sieht allerdings etwas merkwürdig aus. Sie ist ja reichlich hoch.<br>
        Hast Du schon mal die MDAC Installation mit dem Component Checker von MS geprüft (setzt glaube ich allerdings ein MDAC < Version 2.7 voraus)<br>
        Blieben aus meiner Sicht zur Zeit als mögliche 'Schuldige':<br>
        Vorhandenes bzw. fehlendes SP1 für D5, SP1 bzw SP2 für W2K, MDAC, oder Oracle.<br>
        <br>
        Ciao<br>
        Chri

        Comment


        • #5
          Hallo Christian,

          meine MDAC Installation habe ich mit dem Component Checker überprüft, aber außer "einigen" Mismatches zwischen ...Programme\Gemeinsame Dateien\... und ...Program Files\Shared Files\... (offensichtlich kommt MS mit den eigenen Lokalisierungen nicht klar) findet der keine Fehler.
          Auch das Update von MDAC 2.5 auf 2.6SP1 brachte (außer einer Reihe neuer kleiner "Ungereimtheiten") keine Abhilfe. Erst der Einsatz des OLE-DB Providers von Oracle (statt dem von MS) hat das Problem beseitigt. Damit steht zumindest der Schuldige fest ;-)

          Nun hoffe ich bloß das die Entwicklung mit Oracle-Provider und der Einsatz dann mit dem von MS keine neuen Sch... verursacht.

          Besten Dank für deine Hilfe,

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Da bin ich nicht ganz Deiner Meinung.
            Die MDAC 2.6 und SP sind FEHLERHAFT !!!!

            Erst die Version 2.7 funktioniert !!!!!!

            mfg.
            Schardl Rober

            Comment


            • #7
              Hallo Robert,

              das offensichtlich der MS-Provider für Oracle den Fehler verursacht hatte ich ja schon eingrenzen können, da die Verwendung des Providers von Oracle für Oracle (zumindest in dieser Hinsicht) sauber funktioniert. Auch die Installation von MDAC 2.7 ändert an dieser Tatsache nichts. Eigentlich würde ich jetzt gerne auf MDAC 2.5 zurückgehen um die gleiche Version zu verwenden wie die Clients der Anwender - aber das scheint von MS nicht vorgesehen oder kennt jemand einen Weg?

              Gruß Fal
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment


              • #8
                Hi,

                da keiner einen Rat weiß, scheint es keinen gangbaren Weg zu geben die MDAC 2.6 bzw. 2.7 wieder los zu werden und auf 2.5 zurückzugehen - <B>Oder doch???</B>

                Gruß Fal
                Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                Comment


                • #9
                  Moin Falk,<br>
                  <br>
                  mir fällt zu dem Thema nur ein, dass die c't mal etwas in der Richtung angestellt hat, um DirectX in einer niedrigeren Version zu installieren, als es aktuell der Fall war, also im Prinzip das gleiche, nur mit anderen Dateien.<br>
                  Der Trick basierte meiner Erinnerung nach darauf, die Versionsinformationen der zugehörigen Dateien (betrifft wohl auch die Einträge in den INF-Dateien und Regkeys) dahingehend zu manipulieren, dass sie Version 1.0.0.0 hatten.<br>
                  Somit war das Setup zufrieden, und hat munter eine tiefere Version installiert.<br>
                  Das ist zwar schon ein paar Jahre her (ich glaube es sollte statt einer 6er eine 5er installiert werden, aber ohne Gewähr), aber vielleicht wirst Du ja noch fündig, und kannst diese Vorgehensweise für das Downgraden von MDAC adaptieren.<br>
                  (c't ROM wäre da vielleicht ganz hilfreich, so Du hast :-)).<br>
                  <br>
                  Ciao<br>
                  Chri

                  Comment


                  • #10
                    Hallo Christian,

                    das mit der Versions-Info in den Regkeys habe ich schon probiert, da klappt zumindest das Downgrade von 2.7 auf 2.6 aber 2.5 weigert sich beharlich. Vielleicht liegt es daran das ich SP2 für W2000 installiert habe und dort ja MDAC 2.5 enthalten ist. Das 2.5er Setup ist deshalb wahrscheinlich der Meinung das es bereits installiert ist :-(

                    Trotdem Dank
                    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                    Comment


                    • #11
                      Hallo,

                      ich möchte das ursprüngliche Problem nocheinmal aufgreifen! Den selben Effekt habe ich jetzt nämlich auch in einem zweiten Projekt - aber erst nachdem ich dort ein zweites Datenmodul implementiert habe. Ich habe im ersten Datenmodul eine TADOConnection (und div. TDatasets) für die Verbindung zu Oracle (ich nenn es Mod_Oracle) und im zweiten eine TADOConnection + div. TADODatasets für den lokalen Zugriff auf eine Access-DB (ich nenn es Mod_Access). Wenn in der Erstellungsreihenfolge Mod_Access vor Mod_Oracle kommt, dann ist alles paletti. Drehe ich die Erstellungsreihenfolge aber um, also Mod_Oracle und dann erst Mod_Access, dann tritt der o.g. Fehler auf.
                      Nun sollte Mod_Oracle aber zuerst instantiiert werden, da dort einige Prüfungen passieren bei deren fehlschlagen Mod_Access gar nicht erst erstellt werden soll. Mod_Oracle hat über uses einen Bezug auf Mod_Acces aber das entfernen dieses Bezuges hat keinen Einfluß auf das merkwürdige Verhalten.

                      Hat jemand eine Idee was das nun wieder sein könnte?.

                      Gruß Fal
                      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                      Comment

                      Working...
                      X