Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zugriffsverletzung in BORdbk70.dll (https://www.delphipraxis.net/18595-zugriffsverletzung-bordbk70-dll.html)

mirage228 21. Mär 2004 19:38


Zugriffsverletzung in BORdbk70.dll
 
Abend,

ich stehe vor einem (größeren) Problem.

Seitdem ich das SP2 für WinXP draufgemacht habe, verhalten sich die Öffnen Dialoge von Delphi seltsam...

Wenn ich auch nur irgendwie mit OpenDialog oder anderen Öffnen-Dialog (SHBrowseForFolder auch!) arbeite,
stürzt das Program ab und ich kriege folgende Meldung (wahrs. ist die vorher gekommen):

Delphi-Quellcode:
---------------------------
Fehler
---------------------------
Zugriffsverletzung bei Adresse 06D9D4ED in Modul 'BORdbk70.dll'. Lesen von Adresse 00000000.
---------------------------
OK  
---------------------------
Das Problem ist reproduzierbar und taucht selbt bei neu erstellten anwendungen auf.

EDIT: In der fertig kompilieren EXE treten keine Fehler auf. Der Fehler tritt nur auf, wenn ich das Programm aus der IDE starte.

Weiss jemand eine Lösung für mein Problem?

mfG
mirage228

NicoDE 21. Mär 2004 20:48

Re: Zugriffsverletzung in BORdbk70.dll
 
Selbe Problem mit D6PE (upd2) und D5CSS (upd1).
Nur lässt sich bei beiden gar nicht mehr debuggen!

Den Nullpointer habe ich bereits im Debugger/Disassembler angesehen - scheint aber ein Folgefehler durch ein nicht allozierte Struktur zu sein (durch eine (fast-)Endlosschleife die versucht zuviele Objekte zu erzeugen?) ... ohne Quelltext habe ich da keine Zeit/Lust zu :)

Code:
; BORdgk61.dll ohne Relozierung
[color=gray]0046D1D4        push   ebp
0046D1D5        mov    ebp, esp
0046D1D7        push   ebx
0046D1D8        push   esi
0046D1D9        push   edi
0046D1DA       xor    eax, eax
0046D1DC       mov    edx, [ebp+0Ch]
0046D1DF       mov    esi, [ebp+8]
0046D1E2        xor    ebx, ebx
0046D1E4        jmp    short @@3
0046D1E6  @@0: mov    ecx, [esi+4]
0046D1E9        cmp    edx, [ecx+ebx*4][/color] ; ecx = nil
[color=gray]0046D1EC       jnz    short @@2
0046D1EE       push   10h
0046D1F0        call   operator new(uint)
0046D1F5        pop    ecx
0046D1F6        mov    edi, eax
0046D1F8        test   eax, eax
0046D1FA       jz     short @@1
0046D1FC       push   ebx
0046D1FD       push   esi
0046D1FE       push   edi
0046D1FF       call   0046D028
0046D204        add    esp, 0Ch
0046D207        jmp    short @@4
0046D209  @@1: mov    eax, edi
0046D20B       jmp    short @@4
0046D20D @@2: inc    ebx
0046D20E @@3: cmp    ebx, [esi+8]
0046D211        jb     short @@0
0046D213  @@4: pop    edi
0046D214        pop    esi
0046D215        pop    ebx
0046D216        pop    ebp
0046D217        retn[/color]
Mein Fazit: SP2 Technical Preview wieder runter (läuft).

mirage228 21. Mär 2004 21:11

Re: Zugriffsverletzung in BORdbk70.dll
 
Dann muss ich das SP2 wohl wieder entfernen.
(Meine schöne Firewall, mein schönes Security Center, :cry: )

Nun stellt sich aber die Frage:
Schuld von Microsoft oder Borland?

mfG
mirage228

NicoDE 21. Mär 2004 21:23

Re: Zugriffsverletzung in BORdbk70.dll
 
Zitat:

Zitat von mirage228
Schuld von Microsoft oder Borland?

Die Schuldfrage ist unwichtig, wer mit Delphi seine Brötchen verdient, sollte das SP2 RC1 nicht installieren.
Code:
This technical preview is unsupported and is intended for testing purposes only. [color=red]Do not use in production environments.[/color]
Ich gehe nicht davon aus, dass Borland kurzfristig einen offiziellen 'Fix' für ein uninoffizielles Service Pack herausbringen wird.
Wer das Problem behebt, ist eigentlich egal - ob nun Microsoft in SP2 Retail, oder Borland mit einem weiteren Update für Delphi 5/6/7 (letzteres klingt irgendwie unwahrscheinlich, finde ich [edit] falls dies jemand von Borland ließt: dies ist als indirekte Aufforderung zu verstehen, mich eines besseren zu belehren :) [/edit]).

hitzi 25. Mär 2004 19:07

Re: Zugriffsverletzung in BORdbk70.dll
 
Bei mir funktionieren die Dialoge ohne Fehler. Nur bei DB Anwendungen über ADO tritt der oben genannte Fehler auf. dbExpress und BDE funktionieren.
Außerdem tritt der Fehler bei der Benutzung von Outlook_tlb (Importierte Outlook ActiveX Komponente) auf. Evt. weil diese intern auch ADO verwendet - ist nur eine Vermutung.
Ich werd jetzt erst mal ADO neu installieren.

Bis dahin
Hitzi

hitzi 25. Mär 2004 19:27

Re: Zugriffsverletzung in BORdbk70.dll
 
Die Neuinstallation von MDAC hat ein Teil des Problemes behoben. Die DB Anwendungen über ADO funktionieren wieder. :)

Nur das Programm zur Kommunikation mit Outlook will nicht in Delphi starten. Dafür gibt es auch eine Lösung - hoffe ich. Sonst funktioniert alles soweit ich das bis jetzt ausgetestet habe.

Bei mir bleibt das SP2 erstmal auf den einem Rechner drauf. :stupid:
Irgendwo muss man ja testen ...

Bis später
Hitzi

PS: Haben noch andere das Problem mit den Dialogen? Ich würde gern verstehen, wieso dieses Problem bei mir nicht auftritt.

hitzi 25. Mär 2004 19:56

Re: Zugriffsverletzung in BORdbk70.dll
 
Nochwas... Hätte ich glatt vergessen zu sagen :stupid:
Eine Neuinstallation von Delphi bringt bei den oben genannten Fehler gar nichts.

MfG Hitzi

hanko panko 26. Mär 2004 21:38

Re: Zugriffsverletzung in BORdbk70.dll
 
Zitat:

Zitat von hitzi
Nochwas... Hätte ich glatt vergessen zu sagen :stupid:
Eine Neuinstallation von Delphi bringt bei den oben genannten Fehler gar nichts...

Bei mir hat SP2 den Debugger kraftig gelockert. Neuinstallation von Delphi und MDAC macht alles nichts. Sch...ade!

Mal sehen wie schnell dass geloesst wird.

woki 26. Mär 2004 22:41

Re: Zugriffsverletzung in BORdbk70.dll
 
Zitat:

Zitat von NicoDE
Zitat:

Zitat von mirage228
Schuld von Microsoft oder Borland?

Code:
This technical preview is unsupported and is intended for testing purposes only. [color=red]Do not use in production environments.[/color]
[edit] falls dies jemand von Borland ließt: dies ist als indirekte Aufforderung zu verstehen, mich eines besseren zu belehren :) [/edit]).

Also Leute, Schuld ist in diesem Fall ja nun wirklich weder Microsoft noch Borland, sondern wer immer eine beta installiert und sich dann wundert.
Betas von Betriebssystemen installiert man auf Testsystemen und nicht auf Entwicklungsrechnern, und wenn man sie installiert, dann nicht in der Erwartung, das alles funktioniert, sondern nur um rauszufinden was nicht funktioniert, und wenn man nett ist, teilt man die Probleme dann den Softwarefirmen mit, damit die eine chance haben, die Fehler zu beseitigen, das ist der Sinn solcher Testversionen, nicht das sie fehlersfrei funktionieren.
Es wird auch für eine Beta von Microsoft garantiert keinen Fix von Borland geben.

Grüsse
Woki

NicoDE 27. Mär 2004 09:59

Re: Zugriffsverletzung in BORdbk70.dll
 
Hi woki,

Ich erwarte von Borland nicht, dass sie das Problem für SP2RC1 beheben.
Oben genanntes Problem ist lediglich ein nicht abgefangener Nullzeiger.
Es wäre eventuell hilfreich das in zukünftigen Versionen zu vermeiden
(und wenn es es nur dazu dient das eigentliche Problem zu finden...).
Das war, ist und bleibt Entscheidung von Borland.


Gruss Nico


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 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 by Thomas Breitkreuz