HI,
Zitat von
Luckie:
Also bei deiner Exe funktioniert es.
Puh, dachte schon ich hab irgendwie etwas geschaffen, was nur bei mir läuft
Zitat von
Luckie:
Das verstehe ich einfach nicht. Mit Delphi geht es ja. Und warum geht dein Programm bei dir und mir und wenn ich deinen Code kompiliere geht es nicht mehr?
Das versteh ich auch nicht. Hm, ist merkwürdig. Da würde ich aber fast behaupten, dass es diesmal am Compiler liegen müsste. Der
QC kann es ja nicht sein, der ist diesmal gleich. Hast du es mal mit dem BCC5.5 versucht? Den findest du als freien Download auf den Borland-Seiten. Da musst du dann allerdings immer den Biblioteks und Suchpfad angeben oder (in guter Borlandmanier) für den compiler bzw. Linker eine .cfg Datei anlegen, in der die Optionen drin sind.
Jedenfalls hab ich mit dem diesen Code erzeugt. Ja, printf ist natürlich nicht das schönste, aber was gibt es denn so für Alternativen in C? Kenne mich da echt wenig aus
Zitat von
Luckie:
Wie kannst du den Quellcode überhaupt kompilieren? Denn in der Funktion int getJvmDllPath(char* path) ist die Variable res nicht deklariert
Also bei mir (letzte Version die ich eigentlich angehangen habe) steht die Funktion ungefähr so drin:
Code:
int getJvmDllPath(char* path) {
....
// öffnen des Schlüssels
// HKEY_LocalMachine\\Software\\JavaSoft\\Java Runtime Enviroment\\
long res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, REG_PATH_TO_JRE, 0, KEY_READ,
&key);
wobei res also gleich in dieser Zeile deklariert wird als long. Deswegen sollte es auch eigentlich keine Probleme beim Compilieren geben. Aber wenn sich sogar der Quellcode beim Übertragen ändert
Ich weiß ehrlich gesagt nicht, warum es mit MinGW nicht laufen sollte. Wenn es Probleme beim Compilieren gäbe oder so, dann könnte ich das ja noch verstehen, aber wenn er die Datei linkt, dann sollte es eigentlich so laufen. Hast du denn wirklich mal andere Schlüssel zu öffnen versucht? Also wirklich nur eine C Programm, dass nicht mehr macht als einen beliebigen Schlüssel in der Registry zu öffnen?
Gruß Der Unwissende