![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Neuer Benutzer Registriert seit: 11.10.2005
Beiträge: 12
|
Moin, brauche für mein Programm eine Klasse die auf eine .dll zugreift. Die Klasse war schon so vorgegeben, und mit MS VJ++ 6.0 gibts beim compilieren keine Probleme. Aber bei meinem Eclipse 3.0 zwar auch nicht, aber dafür beim starten eine java.lang.UnsatisfiedLinkError Exception. Code:
public class openCom {
/**@dll.import("RSAPI") */
public native static void OPENCOM(String s);
/**@dll.import("RSAPI") */
public native static int DTR(int i);
/**@dll.import("RSAPI") */
public native static void CLOSECOM();
}
Das muss doch auch mit Eclipse gehen... |
| | |
| | Nach oben #2 |
| Gast
Beiträge: n/a
| http://java.sun.com/j2se/1.5.0/docs/...LinkError.html http://java.sun.com/j2se/1.5.0/docs/...kageError.html Irgendeine Klasse hat irgendeine Abhängigkeit auf einer anderen Klasse. Letzere ist beim letzten Kompilieren irgendwie inkompatibel zur Ersteren geworden. Im englischsprachigen Internet gibt es ein work-around, ich habe ihn noch nicht gefunden. |
|
| | Nach oben #3 |
| Neuer Benutzer Registriert seit: 11.10.2005
Beiträge: 12
|
Nur das Problem ist, wenn ich mit MS VJ++ compiliere, dann starte, läuft alles einwandfrei. Compiliere ich es mit Eclipse und starte dann, kommt diese Exception. Das ganze ist ja eine "visual class" wies so schön heisst in Eclipse, und das kann ich nicht so einfach übernehmen in VJ++, außerdem kennt VJ++ kein javax.swing warum auch immer... Gibts da nicht eine Klasse für dll - Zugriffe? |
| | |
| | Nach oben #4 | |
| Gast
Beiträge: n/a
| Zitat:
Das bedeutet: 1. es ist nicht wirklich kompatibel zu Java und 2. es läuft (noch) nicht auf UNIX-Kisten und ähnlichen Nicht-Windows-Rechnern. (weil da das .NET Framework einfach noch nicht will) MfG m15ch3r | |
|
| | Nach oben #5 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.161
|
War VJ++ nicht Microsofts Java-Implementation? Was du meinst müsste J# sein. VJ++ ist auf dem Stand von Java 1.1 - soweit ich weiß - deshalb auch kein Swing. Mehr kann ich leider auch nicht sagen. (Wir hatten das mal in der Schule verwendet - vor etwas über 3 Jahren)
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #6 |
| Gast
Beiträge: n/a
|
Ja stimmt, was ich meinte ist J#. Danke für den Hinweis. Aber warum muss Microsoft eigentlich überall seinen Senf dazugeben? C# ist doch eh schon fast Java, warum dann noch J#? Kann mir das jemand erklären? (Außer damit, dass der ganze Konzern spinnt. Das weiß ich nämlich selber schon.) MfG m15ch3r --> gehört das eigentlich noch zum ursprünglichen Thema? <-- _____________[Ja] [Nein] [Vielleicht] [Cancel]_____________ |
|
| | Nach oben #7 | |
| Neuer Benutzer Registriert seit: 11.10.2005
Beiträge: 12
| Zitat:
Aber vielleicht könnt ihr mir ja doch helfen. Hab nämlich kein Bock das ganze in awt umzumünzen, da gibts nicht so tolle Komponenten und es fehlt auch ein wenig an Funktionalität... Find ich aber ganz schön bescheiden von MS, die könnten doch wenigstens zulassen das man javax.swing per import mit reinnimmt, wenn man schon Java 1.5 drauf hat... | |
| | |
| | Nach oben #8 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.161
|
Mit VJ++ verwendest du aber nicht das Java 5, sondern Java 1.1. Außerdem ist VJ++ nicht 100% kompatibel zu Java 1.1 - was auch der Grund dafür war, dass Sun Microsoft verklagt hat. Mal ganz davon abgesehen, dass das Teil überhaupt nicht mehr weiterentwickelt wird (dürfen sie nicht - einer der Gründe dafür, dass .NET entwickelt wurde) und ist wirklich schon Uralt. Du solltest also nach Möglichkeit überhaupt nicht damit arbeiten.
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #10 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.161
| http://java.sun.com/docs/books/tutor...tep/step1.html Kennst du schon? Demzufolge müsste dein Code so aussehen: Code: public class openCom {
static {
System.loadLibrary("RSAPI");
}
public native static void OPENCOM(String s);
public native static int DTR(int i);
public native static void CLOSECOM();
}
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #12 |
| Neuer Benutzer Registriert seit: 11.10.2005
Beiträge: 12
|
Hab das mal versucht mit static System.loadLibrary... kam eine Fehlermeldung, aber nur das er RSAPI.dll nicht gefunden hatte, nachdem ich dann RSAPI in das richtige Verzeichnis kopiert habe.. hat er nicht mehr gemeckert, nur das alte Problem war wieder da, das er keine entsprechende native Methode findet.. |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Zugriff auf Konfiguration im verschachtelten Array | Ben | PHP-Programmierung | 5 | 02.02.2007 12:47 |
| dynamischer Zugriff auf statische Eigenschaft einer Klasse | Ben | PHP-Programmierung | 10 | 15.11.2005 15:53 |
| Zugriff auf Graphics Objekte eines Applets | lokl | Desktop-Applikationen und Grafik | 0 | 11.08.2005 10:28 |
| Erzeugung meherer JFrame Objekte - Problem mit Zugriff | simone.kirstein | Desktop-Applikationen und Grafik | 2 | 28.02.2005 09:07 |
| Zugriff auf Dateien Im Netz | CyberHoney | Desktop-Applikationen und Grafik | 7 | 22.09.2004 16:42 |