• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Eclipse: Cocoa

  • Ersteller Ersteller keman
  • Erstellt am Erstellt am

keman

Gast
Java: Programm stürzt dauernd ab

Hallo

Ich habe es jetzt zwar geschafft, Eclipse zusammen mit Cocoa verwenden, habe aber noch ein Problem:

// String script ist der AppleScript, der ausgeführt werden soll
NSApplication.sharedApplication();
NSAppleScript myScript = new NSAppleScript(script);
NSMutableDictionary errors = new NSMutableDictionary();
myScript.execute(errors);


Wenn ich damit einen einfachen AppleScript ausführe, wie z.B. say etc., also einen Script, der keine GUI benötigt (keine Dialoge etc.), funktioniert das Ganze problemlos. Wenn ich jedoch z.B. display dialog verwende, stürzt das Programm gnadenlos ab:

****************
Another exception has been detected while we were handling last error.
Dumping information about last error:
ERROR REPORT FILE = <Pfad der log-Datei>
PC = 0x0x9036bb7a
SIGNAL = 10
FUNCTION NAME = (N/A)
OFFSET = 0xFFFFFFFF
LIBRARY NAME = /System/Library/Frameworks/ApplicationServices.framework/
Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics

Please check ERROR REPORT FILE for further information, if there is any.
Good bye.



Wo liegt das Problem?
 
Zuletzt bearbeitet von einem Moderator:
Für Cocoa ist Xcode das Tool der Wahl. Wie kommt man auf die Idee Eclipse dafür zu nehmen?
 
Wieso nicht? Ich finde es einfacher mit Eclipse zu programmieren, vor allem weil man eine direkte Übersicht aller Klassen in einem Package und aller Methoden einer Klasse hat. Ausserdem programmiere ich normalerweise in Swing, natürlich auch mit Eclipse, und habe keine Lust, micht auf XCode umzustellen ;) .
Nun bleibt immer noch dasselbe Problem. Ich glaube nicht dass es relevant ist, falls man ein solches Programm mit Eclipse oder XCode schreibt, der Compiler (javac) ist ja am Schluss immer noch der gleiche...
 
Xcode und Cocoa sind füreinander gemacht. Dafür ist die Java-Unterstützung in Xcode nicht besonders gut und in Eclipse viel besser.
 
Hi

Seit Mac OS X 10.4 wird die Java-Cocoa-Bridge doch gar nicht mehr weiterentwickelt. Oder nicht?

Gruß
ChrisDD
 
Auch wenn der Thread schon etwas älter ist, was steht dem in Log?

Und was machst du in dem Script?
Also weil da auch das CG.Framework angemotzt wird.

****************
Another exception has been detected while we were handling last error.
Dumping information about last error:
ERROR REPORT FILE = <Pfad der log-Datei>
PC = 0x0x9036bb7a
SIGNAL = 10
FUNCTION NAME = (N/A)
OFFSET = 0xFFFFFFFF
LIBRARY NAME = /System/Library/Frameworks/ApplicationServices.framework/
Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics


Please check ERROR REPORT FILE for further information, if there is any.
Good bye.
 
Wenn ich mich recht entsinne kannst du mittels NSAppleScript keine GUI-Elemente erzeugen. Du dürftest nur das können, was du auch mit osascript im Terminal erreichen kannst.

Beispiel:
osascript -e 'display dialog "Hallo Welt!"'
0:28: execution error: No user interaction allowed. (-1713)
 
Mein Script:

display dialog "Hallo Welt!"
Wenn ich mich recht entsinne kannst du mittels NSAppleScript keine GUI-Elemente erzeugen. Du dürftest nur das können, was du auch mit osascript im Terminal erreichen kannst.

Beispiel:
osascript -e 'display dialog "Hallo Welt!"'
0:28: execution error: No user interaction allowed. (-1713)
Da gibt's nen Kniff, einfach alles an System Events schicken:
Code:
tell application "System Events"
  display dialog "Hallo Welt!"
end tell
Dann klappt's auch mit osasript:
Code:
osascript -e 'tell application "System Events" to display dialog "Hallo Welt!"'
 
  • Like
Reaktionen: Squart