Compilierprobleme VB4.0 32 Bit

Hi!
Ich habe folgendes schwer zu beschreibendes Problem:
Es wurde ein Programm erstellt und erweitert. Das Compilat läuft auf allen Entwicklungssystemen - nur auf den Rechnern auf dehnen es eingesetzt werden soll treten unmögliche Fehler auf - die sich nach jeder Compilierung - ohne etwas am Quelltext zu ändern - anderst sind. Ich habe keine Idee mehr wie ich an die Fehlersuche rangehen kann und hoffe das mir jemand einen Tip geben kann wie ich an das Problem herangehe ohne die Nerven zu verlieren. Vielen Dank im vorraus

Michal

P.s.: Auf dem System ist parallel auch VB6.0 installiert. Das Projekt dort übersetzt liefert auch einen merkwürdigen Fehler - selbst auf dem Entwicklungssystem.

Hallo Michal

Mir deiner Beschreibung kann ich wenig anfangen.
Könnte eine incompatible DLL oder ActiveX-Object sein.
Ist überall das gleiche Betriebssystem und SP installiert ?
Gibt auch schon Probleme mit einem ganz primitiven Programm (so ala „hello world“) ?
Wann tritt der Fehler auf: bein Start, Beenden oder mittendrin ?
Welche Fehler treten auf ?

MfG Peter(TOO)

Ich habe folgendes schwer zu beschreibendes Problem:
Es wurde ein Programm erstellt und erweitert. Das Compilat
läuft auf allen Entwicklungssystemen - nur auf den Rechnern
auf dehnen es eingesetzt werden soll treten unmögliche Fehler
auf - die sich nach jeder Compilierung - ohne etwas am
Quelltext zu ändern - anderst sind. Ich habe keine Idee mehr
wie ich an die Fehlersuche rangehen kann und hoffe das mir
jemand einen Tip geben kann wie ich an das Problem herangehe
ohne die Nerven zu verlieren. Vielen Dank im vorraus

P.s.: Auf dem System ist parallel auch VB6.0 installiert. Das
Projekt dort übersetzt liefert auch einen merkwürdigen Fehler

  • selbst auf dem Entwicklungssystem.

Hi Peter,

es könnte alles mögliche sein :smile:
Hm, aber ne gute Idee - mal ein einfaches Proggi zu testen. Die Rechner sind vom Betriebssystem und SP gleich. Aber unterschiedliche Anwendungsprogramme.

Fehler:

  1. mal beim Update mit einem Data Object (wobei .edit nicht fehlschlägt) -> With block oder Object nicht gesetzt

  2. DDE Verbidnung zu einem Programm fehlgeschlagen (wurde nix drann geändert und Routine o.k. mehrfach verwendet)

  3. Fehler beim Laden des programmes

Das mit nem einfachen Programm werde ich mal versuchen.

Das klappt. Auch andere Funktionen des Fehlerhaften proggies laufen. Bei jeder Compilation ändert sich der Fehler. Meist Datenbankfehler Objekt nicht gesetzt. Dabei ist es da - ne zeile vorher zumindest. Und ich bekomme den Fehler nicht auf meinem Rechner nachvollzogen. Das Projekt wurde zuvor von jemand anderen betreut der keine Variablen deklariert hat - aber die änderungen daran brachten auch nix. Ich dachte schon an Stackprobs ?!? Aber naja, die vermutung hilft mir auch nicht weiter.

Hallo Michael,

Bei einem C-Programm würde ich sofort an eine nicht initialisierte Auto-Variable oder einen ungültigen Zeiger denken.

  1. Versuch mal alles an Compiler-Optionen einzuschalten was Fehler prüft, schalt mal die Optimierung aus und erzeuge den Code für den einfachsten Prozessor (Leider habe ich keine 4er Version mehr installiert, ich kann dir also nicht genau mitteilen welche Optionen du zur verfügung hast).

  2. Moglicherweise besteht der Fehler in einer DLL oder ein API Aufruf ist nicht ganz sauber deklariert. Bei der Parameterübergabe muss manchmal etwas „getrickst“ werden da die Datentypen von z.B. C und Basic nicht 100% identisch sind.
    Alles was mit „Declare“ definiert ist genau überprüfen.

  3. Beim Umwandeln von Datentypen geschehen manchmal sonderbare effekte, da VB alle Variablen mit Vorzeichen berechnet.

MfG Peter(TOO)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Das Programm läuft im Interpreter. Aber als exe wirft es die Fehler. Ich habe die Sache mal durch den VB6 gejagt (nach anpassung weil is ja voll compatibel :wink:) ) und es scheint nun zu gehen.Das Phänomän is jedoch ungeklärt.

Hallo Michael

Das Programm läuft im Interpreter. Aber als exe wirft es die
Fehler. Ich habe die Sache mal durch den VB6 gejagt (nach
anpassung weil is ja voll compatibel :wink:) ) und es scheint nun
zu gehen.Das Phänomän is jedoch ungeklärt.

Der Interpreter ist nicht 100%ig identisch mit dem Compiler.
Der Interpreter neigt etwas dazu Fehler abzufangen und selber zu korrigieren.

Ich hab das mal mit einem In-Circuit-Emulator für einen 16-Bit Prozessor erlebt. Das Ding hat Stack-Fehler abgefangen und selbst korrigiert ! War auch keine Option zum abschalten.

MfG Peter(TOO)