Suche Hilfe: error -2805

  • Ersteller FlashIT
  • Erstellt am

FlashIT

Gast
Mahlzeit...

ich hoff hierbei kann mir ein anderer cleverer Entwickler helfen...

Ich habe das Rundum bei meinem slyLCR folgendermaßen geregelt:

Mein slyLCR besteht aus einem App-Package wo alles drin liegt und dort ist in der Info.plist als Executable ein Shellscript eingetragen
Dieses testet vor dem eigentlichen Start noch mit ein paar Commands ob zb die benötigte ConfigFile schon vorhanden ist oder nicht etc.
In diesem Fall zb. (falls nicht vorhanden) wird von dem Shellscript ein mit Applescript geschriebenes Infofenster dem User gezeigt und evtl. reagiert -> die Config erstellt...
Ganz am Schluss startet dieses Shellscript Java und somit den eigentlichen slyLCR...

Nun mein Problem:
Sobald eines dieser Applescript-Dialoge vorher angezeigt wurde, kann die letzte Zeile im Shellscript(also das Starten vom Java) nichtmehr durchgeführt werden und ich bekomm an der Stelle einen "error -2805"

Google sagt:
-2805 > fragDupRegLibName: Fragment registered name already in use

Was kann ich nun tun?! Ich bekomm es absolut nicht gebacken, dass beides nacheinander funzt und hab keine Lust dem User sinnlos, nach der erfolgreichen Erstellung der Config z.B., zu sagen er möge den slyLCR doch bitte neustarten!!! Wär halt schön wenn das dennoch weiterrennt, da ja nach der Configerstellung alles stimmt...

Ich hoff dabei helfen folgende Infos auch etwas weiter beim Verstehen:

Code:
#!/bin/sh

# Settings
cd ${0//\/slylcr_mac/}
SLYLCR_HOME=`pwd`
TEST_SWTLIBS="swt.jar"

########### DO NOT EDIT BELOW ##############

cd $SLYLCR_HOME

# nachschauen ob die SWT-Libs vorhanden sind...
for SWTLIB in $TEST_SWTLIBS
do
    if [[ ! -f /Library/SWT/$SWTLIB ]] && [[ ! -f $HOME/Library/SWT/$SWTLIB ]]
    then
	dialogs/noSWTFound.app/Contents/MacOS/applet
	exit 1	
    fi
done

# pppd-Template testen
if [[ ! -f /etc/ppp/peers/slylcr.tmpl ]]
then
    dialogs/noPppdTemplateFound.app/Contents/MacOS/applet
	
    # nachschauen obs nun kopiert wurde...
    #if [[ ! -f /etc/ppp/peers/slylcr.tmpl ]]
    #then
	exit 1
    #fi
fi


# nachsehen ob die JavaVersion hinhaut...
needed="1.4.2"
if [[ $needed > `java -version 2>&1 | grep 'java version' 2>&1 | awk '{print $3}' | sed 's/\"//g'` ]]
then
	dialogs/JavaVersionWrong.app/Contents/MacOS/applet
	exit 1
fi


/usr/bin/java -classpath "$HOME/Library/swt/swt.jar:$HOME/Library/swt/swt-pi.jar:/Library/swt/swt.jar:/Library/swt/swt-pi.jar:$HOME/Library/SWT/swt.jar:$HOME/Library/SWT/swt-pi.jar:/Library/SWT/swt.jar:/Library/SWT/swt-pi.jar:$SLYLCR_HOME/lib/slylcr.jar:$SLYLCR_HOME/plugins:$SLYLCR_HOME/lib/jdom.jar" -Dfile.encoding=utf8 -Duser.language=de -Duser.country=DE -Djava.library.path="/Library/swt:$HOME/Library/swt:/Library/SWT:$HOME/Library/SWT" -Dorg.eclipse.swt.internal.carbon.noFocusRing -Dorg.eclipse.swt.internal.carbon.smallFonts -Xdock:icon="$SLYLCR_HOME/../Resources/slylcr.icns" -XstartOnFirstThread slyLCR $*

das ist das gegenwärtige startup-Script...
wie man sieht, hab ich nun jeweils nach dem starten der Applets nen "exit 1" gemacht zur Sicherheit...
Wenn ich das wie gesagt nicht tuhe, dann kommt besagter Fehler sobald ein Applet vor java genutzt wird...

Falls sonstige Vorschläge als besserer Weg vorhanden sind, auch gern her damit ;)
Aber bis auf diesen "Bug" bin ich mit dem Weg des Scripts innerhalb des App-Packages sehr zufrieden...


Hier mal sicherheitshalber der Aufbau des App-Package:

slyLCR.app
|-MacOS
||-dialogs
|||-noPppdTemplateFound.app
|||-noSWTFound.app
|||-wrongJava.app
||-slylcr_mac <<< das ShellScript
|-Ressources
||-slylcr.icns
|-Info.plist
|-PkgInfo

MfG & mit Hoffung auf Hilfe
Björn