Zurck zur Homepage

Häufig gestellte Fragen(FAQ)

Frage: Sind irgendwelche GUI Toolkits für Ruby "thread-safe"?
Antwort: Die Antwort auf diese Frage hängt sehr von der Definition des Begriffes "thread-safe" ab. Im allgemeinen Sinne, nicht aber im Sinne GUI-Toolkits, haben wir "thread-safe" betrachtet; das heisst, dass die Instanzmethode von GUI Objekten keine geeignete Unterstützung dafür haben. Eine gute Verfahrensweise für die multithread-GUI Applikationen ist es, die GUI in "Haupt-Thread" laufen zu lassen, und nicht GUI "worker"-Threads für Hintergrundtasks wann auch immer möglicherweise zu reservieren.

Frage: Ruby/GTK und FXRuby kommen mit einigen guten Programmen herbei, aber Ich kann nicht bei weitem für Ruby/Tk finden. Gibt's eine gute Quelle, wo man sich zusätzlich Ruby/Tk Beispielprogramme besorgen kann?
Antwort: Schauen Sie in "Ruby Applikation Archives" nach den letzten Versionen von "Ruby/Tk Widgets Demos" Ausgaben nach, die werden von Jonathan Conway gewartet. Das ist sozusagen Ruby/Tk Portierung von ursprünglichen Tcl/Tk Widget Demos und das würde Ihnen anfangs eine gute Hilfestellung geben, um ihre Ruby/Tk Applikationen zu entwicklen. Sie könne ebenso in RAA nach Ruby/Tk Programmen suchen, und dann sie als den Lernstoff benutzen.

Frage: Ich habe mir zuerst FOX und gleich danach FXRuby installiert, und allem Anschein nach ist das Kompilieren von Sourcecode ohne Fehler verlaufen. When ich aber versuche, irgendeine FXRuby Beispielprogramm unter Linux laufen zu lassen, reagiert Ruby darauf mit einer Fehlernachricht, die damit beginnt: "LoadError(Fehler beim Laden): libFOX.so: cannot open shared object file(kann nicht shared Objekt-Datei öffnen)". Ich habe im FOX Installationsverzeichnis nachgeschaut und habe ich mir festgestellt, dass libFOX.so eingentlich vorhanden ist, also warum bringt Ruby diesen Fehler heraus?
Antwort: Das Problem hat damit zu tun, wie das Betriebsystem gemeinsam benutzte Bibliotheken(shared libraries) festlegt, von denen Ruby Erweiterungen wie FXRuby abhängen. Ruby hat die FXRuby in der Tat gefunden, aber er kann nicht FOX shared Bibliotheken finden, die von FXRuby benötigen werden, weil diese Bibliotheken nicht im Standard-Verzeichnis für DDL(dynamically-loaded shared libraries) vorhanden sind. Um dieses Problem zu beheben, müssen Sie einfach das Verzeichnis, wo sich shared Bibliotheken befinden(üblich /usr/local/lib) zu LD_LIBRARY_PATH Umgebungsvariable hinzufügen. Sehen Sie dabei in der FXRuby Installationsanweisung für mehr Information über dieses Problem nach.

Valid XHTML 1.1! Valid CSS!