Problem mit Standalone-Anwendung.
-
Hallo C++ Gemeinde,
ich hab folgendes Problem.
Ich habe ein Klasse geschrieben, die den Zugriff auf einen FTDI Chip per USB sicherstellt. Meine Klasse nutzt die sogenannte FTD2XX.lib + FTD2XX.h.
Diese lib stellt Funktionen wie FT_Open, FT_Read, FT_Write und noch ein ganzer haufen anderer Funktionen zur Verfügung.
Wenn ich die Anwendung jetzt per MSVC++ 6 bzw auch mit 2003.NET starte, funktioniert alles einwandfrei. Mein Zugriff auf den FTDI Chip funktioniert...
Doch erstens kommt es anders und zweitens als man denkt....
... denn wenn ich die Anwendung als Release oder Debug starte funktioniert der Zugriff auf den Chip überhaupt nicht mehr.Es kommt kein Fehler das er irgendeine DLL nicht findet.. (Dependency Walker zeigt mir an der er die FTD2xx.dll nutzt (is auch völlig ok))
Diese DLL findet er auch...
Doch dennoch Frag ich mich, warum die Funktionalität nicht mehr gegeben ist, wenn ich das Programm außerhalb der IDE starte (also msvc++ 6/2003.net)
Bin ratlos.
Vielen Dank für eure Antworten
Mit freundlichen Grüßen
Schinken
-
Schinken schrieb:
Doch dennoch Frag ich mich, warum die Funktionalität nicht mehr gegeben ist, wenn ich das Programm außerhalb der IDE starte (also msvc++ 6/2003.net)
Na weil
er irgendeine DLL nicht findet
Ist es eine WinForms anwendung ? (Framework installieren)
Ist es eine MFC ANwendung ? (MFC Dlls mitgeben)
etc.
-
Es ist eine Qt anwendung... Hat also mit MFC oder irgendwelchen WinForms nichts zu tun.
Außerdem...sollte er nicht einen Fehler von sich geben wenn ihn irgeneine DLL fehlt?
-
Dann pack die QT Dlls und deren abhängigkeiten mit rein.
Tut er doch, woher wüsstest Du denn sonst das DLLs fehlen ?
Btw.: ist das hier das falsche Forum, Du bist hier bei C++/CLI mit .NET
-
Oh hups... sorry wegen Falsches Forum .. kann das jemand bitte verschieben?
Qt dlls sind natürlich auch im ordner... sollte davon eine fehlen würde es nen tollen fehler geben
"blabla die anwendung kann dll xyz nicht finden" und sowas
außerdem hat mit der sache qt ja nix am hut...
sind lediglich die FTDI funktionen die "spinnen"...
-
Ah sorry, ich hab
"ein Fehler" gelesen wo "kein Fehler" steht, falscher Ausgangspunkt. (Ja ich stell mich gleich in die Ecke :D)
Es bleibt Dir also nur übrig, mit dem Debugger nach zu sehen und die Rückgabewerte zu prüfen. Also , viel Spaß mit den einzelnen Codezeilen
-
hm.... ich glaub das sollte nicht der einzige weg sein *ggggg*
-
Du kannst natürlich auch auf eine Eingebung warten, das sich der Fehler von selbst behebt, dann bist Du hier aber falsch.
(Hier geht irgendwas nicht, zum Debuggen hab ich aber keine Lust, sag mir doch jemand was genau ich ändern soll ?? )
-
Nein so war das natürlich nicht gemeint.. ich weiss aber etz in erster linie schonmal nicht, wie ich debuggen soll...
Weil ich mein unter der IDE läufts (das wäre auch der ort an dem ich debuggen KÖNNTE)... vllt gibts ja andere alternativen die ich nicht kenn.
-
Grenz den Fehler ein, gib Rückgabewerte mit ner MessageBox aus, setze mit MessageBoxen mal Informationen damit Du siehst wo es Probleme gibt.
Bei Deiner IDE setze mal Flags, das bei jeder Exception angehalten wird, so das der Fehler nicht einfach von einem try catch verschluckt wird.
-
OK... hab debuggt wie n irrer... bzw halt messageboxen etc eingebaut... ich kann den fehler einfach nicht finden... das ist zum ausrasten O_o
im standalone arbeiten die FT_ funktionen, die von FTDI sind nicht korrekt... timeouts... geben schrott zurück
ARGH