Fehler in Anwendung - Der Vorgang 'written' konnte nicht auf dem Speicher ausgeführt

Filone

Erfahrenes Mitglied
Hallo zusammen,

ich habe unter VB 6 eine MDI-Awendung erstellt, die mit einem Intervall von 125ms Socketverbindungen auf ihren Status prüft und darüber hinaus in einem Listview die Daten der Sockets anzeigt (IP, Port, ...).

Linker Mausklick auf ein Listviewelement, bei dem ein PopUpMenu erscheinen soll, Verschieben eines Formulars das nur bei bestehender Verbindung erscheint sowie Auswahl eines Menüs in der Menüleiste führen zu folgender Fehlermeldung unter Windows 2000 :

Picture

Weiß jemand woran das liegen kann ? Ich vermute eine API dahinter, bin mir aber nicht sicher.

Danke und liebe Grüße,

Pascal
 
Re: Fehler in Anwendung - Der Vorgang 'written' konnte nicht auf dem Speicher ausgefü

Hi,

würde auch auf einen API Fehler tippen. Könnte ein 0-Wert bei der Übergabe sein.

Gruß
Das Orakel
 
Ja, scheint ein NullPointer zu sein. Ich krieg nur nicht raus woher, deswegen frage ich mich schon die ganze Zeit was das Verschieben eines Formulars (sowohl MDI-Parent wie auch frmFileList, die unabhängig von MDI-Parent ist) und das Menü gemeinsam haben.

Und, last but not least, auf XP geht es, auf 2000 nicht.
 
Re: Fehler in Anwendung - Der Vorgang 'written' konnte nicht auf dem Speicher ausgefü

Naja mal so ins blaue Spekuliert, könnte ich mir vorstellen, dass die W2K-Dll einfach eine ältere Version der von Dir benutzen API's hat. Ansonsten würde mir nur einfallen, vor dem Aufruf der API's die entsprechenden Parameter auf 0 zu prüfen.

Gruß
Das Orakel
 
Ich glaub ich habs.

Ich arbeite in VB6 mit Tags (falls Du in einer anderen Sprache programmierst : damit kann man einem Objekt in VB6 einen Wert zuweisen, bspw. ein Listenelement oder sowas).

Wenn ich nun mit der FormsCollection alle Formulare durchlaufe und auf ihren Tag prüfe, ist eins dabei das einen vbNullstring hat - weil es durch die Schleife instanziert wird.

Und genau da scheint der Fehler zu liegen. Ich schaue gleich mal nach.
 
Re: Fehler in Anwendung - Der Vorgang 'written' konnte nicht auf dem Speicher ausgefü

Hi Filone
Wenn ich nun mit der FormsCollection alle Formulare durchlaufe und auf ihren Tag prüfe, ist eins dabei das einen vbNullstring hat - weil es durch die Schleife instanziert wird.
Ok vbNullstring würde auf jeden Fall erklären, dass der Verweis auf Adresse 0 im Speicher verweist. Aber Du könntest doch auf jeden Fall das Ursprungsobjekt mit einem im Entwurfsmodus mit einem Sinnvollen Tag versehen. Ansonsten wie ich schon mal erwähnt habe vor dem Aufruf Deiner API die entsprechenden Parameter auf NULL, 0 usw. prüfen.

Gruß
Das Orakel
 
Die Tags werden erst zur Laufzeit vergeben, weil ich mit API-Sockets Verbindungen eingehe und dann für jede Verbindung eines dieser Formulare anzeigen lasse.

Ich hab dann beim frmFileList_Load-Event das Tag 0 vergeben, damit es schonmal kein NullString ist. Das triviale ist nämlich, daß beim Durchlauf der FormsCollection schon ein Formular instanziert wird und das dann als Tag den NullString hat.

Morgen an der Uni schau ich mal ob diese Lösung geht, dort ist das mysteriöse Win2000 installiert. Berichte gibt es direkt danach. ;)

Auf jeden Fall schonmal Danke für Deine Hilfe.
 
Re: Fehler in Anwendung - Der Vorgang 'written' konnte nicht auf dem Speicher ausgefü

Gern geschehen,

bin mal gespannt

ein gespanntes Orakel
 
Zurück