Umstieg von RB2010 auf Xoxo 2015

Hallo,

nach langer langer Zeit versuche ich nun meine Anwendung von RealBasic 2010 auf Xojo 2015 umzustellen. Die nderungen sind sehr sehr ekelig. (Leider)

Dass Threads nicht mehr so funktionieren wie frher. Schwamm drber denn mittlerweile sind die Macs so schnell, dass ich alles ohne Threads laufen lassen kann.

Leider habe ich einige unschnere Begleiterscheinungen und hoffe hier hierfr Hilfe zu bekommen.

  1. Ich habe TextFields oder TextArea die sich frher so verhielten, dass, wenn der Text mehr wurde als darin darstellbar war, dann scrollt der Text einfach links aus dem sichtbaren Bereich des TextField/TextArea hinaus. Nun ist es so, dass es wie ein Softwrap aussieht obwohl ich Multipline auf OFF habe und auch beide Scrollbalken auf Off stehen. Was muss ich tun, dass sich diese Eingabefelder wieder so verhalten wie zu alten RB Zeiten?
    Der FocusRing ist ebenfalls nicht zu sehen obwohl in der Konfiguration FocusRing = true gesetzt ist

AltVerhalten

Neuverhalten

  1. Dann hngt die Schrift etwas komisch hher im Eingabefeld als unter alt. Oder liegt das an der Schrift/Gre. Was muss ich tun, dass der Text wieder schn mittig sitzt? Auch hier fehlt der FocusRing :frowning:

Altverhalten

NeuVerhalten

  1. Ich habe ein Fenster mit Listboxen, TextFields, Textareas, Popups etc und BevelButton (PushButton). Unter RB war es ganz einfach. Ein Klick mit der Return-Taste und der DefaultButton wurde ausgefhrt. Unter Xoxo habe ich weiterhin die selben DefaultButtons aber ein Return fhrt zu keinerlei Reaktion. Was muss ich tun, dass das auch wieder funktioniert?

  2. Ich habe einen MessageDialog in einer Methode eingebaut. Diese Methode sieht eigentlich identisch der im Beispiellose in der Hilfe aus. Jedoch wird, wenn die MessageBox angezeigt wird, der OK-Button nicht im Vordergrund angezeigt, so dass ich mit RETURN nicht wirklich weiter komme. Ich muss erst das Fenster in den Vordergrund holen und dann klappt das mit diesem und allen folgenden MessageDialogen. Kann das damit zusammen hngen, dass ich derzeit nur im DebugModus arbeite?

  3. Ich habe festgestellt, dass man Eingabefelder (TextField, TextArea) Maske mitgeben kann. Bisher hatte ich eine eigene Klasse gemacht und darin die Eingaben freigegeben (Zahlenfeld nur Zahlen Punkt und Komma, Datumsfeld nur Zahlen und Punkt). Ist es besser auf die MASKs zurck zu greifen oder soll ich diese Klassen lieber lassen?

Vielen Dank

Claudius

Okay … Problem 1 und 2 kann ich darauf zurück führen dass das Control “Style = ON” hat. Leider benötige ich für einige Eingabefelder die Möglichkeit den Text darin mehrfarbig darstellen zu können, also kann ich hier “Styled = ON” nicht deaktivieren. Hat mir hier jemand einen weiteren Tip wie ich das Problem lösen kann?

Du siehst einige Effekte vom Umstieg von Carbon auf Cocoa. Ich werde es mal versuchen (die Hitze macht das Denken etwas anstrengend):

  1. Hast Du TextFields oder TextAreas aus den alten Controls gemacht? Du brauchst ein TextField und kein TextArea.
  2. Das ist ein Feature und kein Bug. Sieht halt bei Cocoa anders aus.
  3. Du hast wahrscheinlich den Default-Button verloren. Ist Default auf ON?
  4. Wie sieht denn das aus? Hast Du noch andere Fenster offen?

Wenn Du nur solche Kleinigkeiten als Problem hast, dann ist das doch nichts schlimmes. An die Geschichte mit den Threads solltest Du Dich gewöhnen. Sonst geht keine ProgressBar.

Hallo Beatrix,

Naja auch den DefaultButton Konnte ich damit retten solange ich mich in einem Eingabefeld mit STYLED=OFF bewege. Dabei ist es unwichtig ob es ein Textfield oder ein TextArea ist.
Dumm ist eben nur, dass ich in einigen Eingabefelder mehrfarbigen Text haben möchte und das eben nur geht wenn ich Styled=ON habe.
Ich habe alles in TextField und TextArea umgestellt.

Threads lassen sich weiterverwenden, indem man im Thread globale Variablen entsprechend ndert, anstatt wie frher die Werte direkt in der GUI zu ndern, und diese Variaben mittels Timer ausliest und von dort aus in der GUI ndert.

Detlef Kahner

Ich habe mich von den Threads ganz verabschiedet. Die Maschinen sind mittlerweile so schnell, dass ich keinerlei Wartezeiten mehr “überbrücken” muss…