Forum: PC-Programmierung Systemfehler beim Starten von VB Programm


von Timo (Gast)


Lesenswert?

Hallo,
ich habe ein VB programm geschrieben, welches auf com1 zugreift. läuft 
auch ganz gut auf meinem pc. daraufhin habe ich es mit dem 
installationsassistenten verpackt und auf einem anderen pc installiert. 
auch da läuft es. nun ist mein problem: ich habe es auf einen weiteren 
pc installiert (gleiches betriebssystem, gleiches servicepack). 
installation verlief ohne fehler aber beim starten des programms tritt 
ein windows systemfehler auf.

der genaue fehler lautet:

SYSTEMFEHLER &h8h0070057(-2147024809) falscher Parameter

gibt es irgendwo eine tabelle, wo der hintergrund dieses fehlers erklärt 
ist, oder weiß jemand woran es liegen könnte, dass das programm nicht 
läuft?

danke für alle tips!

grüße
vom timo

von Der Dude (Gast)


Lesenswert?

vielleicht falsche COM-Nr.?

von Timo (Gast)


Lesenswert?

hallo,
hab ich schon überprüft, daran liegt es nicht. gibt es vielleicht 
irgendwelche überwachungen der schnittstellen, die man noch deaktivieren 
könnte?

grüße vom
timo

von Wolfram (Gast)


Lesenswert?

>gibt es vielleicht
>irgendwelche überwachungen der schnittstellen, die man noch deaktivieren
>könnte?

Das ist der falsche Weg, das ganze tritt wahrscheinlich auf weil du auf 
irgendwelche Komponenten zugreifts die nicht vorhanden sind.

Es gibt 2 Wege aus diesem Dilemma:
1. Du programmierst ordentlich und überprüfst ob Objekte, die du 
erzeugst auch existieren und erst dann greifts du darauf zu. Wenn du 
Exceptions behandelst bekommst du auch keinen Absturz und eine bessere 
Fehlermeldung.

2. Du überprüfst von welchen Komponenten du abhängig bist (depends.exe) 
und stellst sicher, daß diese vorhanden sind.

von Timo (Gast)


Lesenswert?

hallo nochmal,
danke wolfram für die anrwort. da kennt sich ja einer aus. ich bin nicht 
so ein großer vb crack. kannst du mir vielleicht mal erklären, wie du da 
genau vorgehst um die benötigten komponenten zu überprüfen.
danke
timo

von Wolfram (Gast)


Lesenswert?

Überprüfe ob die Objekte die dynamisch erstellst Nothing sind
http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/vblr7/html/vakeynothing.asp

Mit depends.exe kannst du dir die benutzten DLL anzeigen lassen und ob 
sie vorhanden sind.

Du schreibst nicht welche VBversion. Bis VB6 solltest du überprüfen ob 
die VB-Runtime installiert ist. Ansonsten ob das notwendige .Net 
Framework vorhanden ist. (Wenn das fehlt geht das Programm erst gar 
nicht los.
Dann folgen weitere Komponenten die du per früher Bindung eingebunden 
hast (Referenzen) dann schaust du dir die Objekte an die per später 
Bindung erzeugt werden (Überprüfung auf Nothing). Fehlt eine Komponente 
so fliegt das Programm beim ersten Zugriff raus.


>>da kennt sich ja einer aus. ich bin nicht so ein großer vb crack.
als VBCrack würde ich mich nicht unbedingt bezeichnen, ich nutze es 
relativ selten. Es ist allerdings eine Programmiergrundregel, das der 
Programmierer sicherzustellen muss, dass Objekte, Komponenten, 
Speicherbereiche etc. auf die er zugreift auch wirklich existieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.