[NSBox floatValue] , das muss ein Irrtum sein !

Dylans Ghost

Aktives Mitglied
Thread Starter
Dabei seit
25.09.2012
Beiträge
110
Reaktionspunkte
2
Hallo,
ich möchte mir einen slider basteln, tickmarks zu setzen, z.B. mit zwei slidern einen Würfel zu drehen, so dass ich senkrecht auf jede Seite kucken kann. das hat auch geklappt, der slider erschien imFenster, dann wollte ich die tickmarks auch sichtbar machen, mit Linien wie aus der Palette, das ist die Klasse NSBox, warum auch immer. Beim ersten Start ist das Programm abgekackt unds die Konsole spuckt diesen Text aus:
NSBox floatValue]: unrecognized selector sent to instance 0x101b09e10
2012-10-06 22:49:54.858 VRSliderCreation[1658:303] Ignoring exception raised in __block_global_13: -[NSBox floatValue]: unrecognized selector sent to instance 0x101b09e10
Hier ist der Code,NSBox kommt sonst nicht vor.
Code:
  // setup the markers
    NSMutableArray *marker = [NSMutableArray array];
    NSBox *box;
    NSRect markerFrame;
    unsigned count = 4;
    for (unsigned ii=0; ii < count; ii++)
        {
            markerFrame = NSMakeRect(x,y, tickmarkValues[ii], h);  // die Parameter für NSMakeRect() sind valide.
            box = [[NSBox alloc]initWithFrame:markerFrame];
            [box setBoxType:NSBoxSeparator];
            [marker addObject: box];
        }
    [[self slider] setMarkerArray:(NSArray*)marker];

Hoffentlich kann sich der eine oder andere da durchboxen .

Uwe
 
Zuletzt bearbeitet:
error: release is unavailable in ARC mode, man schlägt releaseDState vor, wat isn did ?
error: 'objc_exception_throw' is not a valid command. Ich mann mir auch nicht vorstellen, wie da debugged werden soll, ich habe einen breakpoint auf die startzeile in main gesetzt,wenn ich draufklicke, erhellt sich das Fenster, als ob in Unterführung geblitzt hat. Wenn ich dann nochmal klicke, kommt der Text:

libsystem_kernel.dylib`mach_msg_trap:
0x7fff87b7767c: movq %rcx, %r10
0x7fff87b7767f: movl $16777247, %eax
0x7fff87b77684: syscall
0x7fff87b77686: ret
0x7fff87b77687: nop

So gerne es mir Leid tut, aber ich verstehe kein italienisch.
Es hat sich auch sonst noch was getan, bei dem Versuch, einen snapshot zu holen, krieg' ich die Meldung : Xcode quit unexpectedly.
Auch mit einem älteren Programm, das normal läuft, ist dasselbe passiert.
Dem link bin ich gefolgt, aber dieser Beitrag ist wohl schon ein wenig alt, ich weiss garnicht, wo ich NSZombieEnabled auf YES setzen soll.
 
Hallo,

das muss ein Irrtum sein !
Nein.

Du übergibst ein Array mit diesen Boxen Teilos.
Bei dem Setter -setMarkerArray: wird offensichtlich jeder Eintrag abgearbeitet und nach dessen -floatValue gefragt.

Offensichtlich ist der Inhalt in Deinem Array komplett falsch, d.h. die Instanzen darin sind nicht von der zu erwartenden Klasse.

Ist der Slider von Dir selbst? Ich kenne die Methode -setMarkerArray: nämlich nicht.

Des Weiteren frage ich mich, warum Du nicht den fertigen NSSlider verwendest?
Der bringt diese Funktionalität standardmäßig mit.

Viele Grüße
 
Hallo,
danke für seine Anteilnahme, ich habe den Fehler ohne Test gefunden. markerArray ist nicht initialisiert (it's so special to me) .
Ist der Slider von Dir selbst? Ich kenne die Methode -setMarkerArray: nämlich nicht.
Der slider ist ein Kind von NSSlider.
Des Weiteren frage ich mich, warum Du nicht den fertigen NSSlider verwendest?
Der bringt diese Funktionalität standardmäßig mit.
Es ist mir klar, dass IB's slider in 99,9% den Ansprüchen des Benutzers genügt, aber in meinem Fall spielen irrationale Zahlen (z.B. PI) eine Rolle, das kann Vater nicht liefern und ohne die marker ist das eine blöde Fummelei.
Das Ergebnis ist in MyOpenGLViiew zu bewundern und es soll plausibel erscheinen.
Egal, ob ich das Ding zum laufen bringe, melde ich mich noch mal.

Grüsse erwidert
 
Hab' es zum Laufen gebracht, aber zu keiner Zufriedenheit, es kommt kein slider auf's display. Ich kann wieder breakpoints setzen und festgestellt , dass der frame.origin.y im IB um die Höhe des sliders grösser ist als [super frame] es ausgibt. Vielleicht muss das so sein, ist aber verwirrend für mich.
Dann habe ich einen break in drawRect: gemacht und da steltl sich heraus, dass origin = 0,0 ist, und das bei jedem Durchlauf. Ich versteh's nicht, der Frust kriecht an mir hoch.

Uwe
 
Guten Morgen,

Dein Code und Deine formulierten Informationen deuten daraufhin, dass Du keine Erfahrung/Grundlagen hast.
Du solltest Dich erst damit vertraut machen und Dich dann an "kompliziertere" Projekte heranwagen.

Viele Grüße
 
Hallo,
dass ich mit den Profis nicht mithalten kann, ist mir klar,aber ich muss auch feststellen, dass jene auch keine Neigung haben, sich einem Unerfahrenen zuzuwenden, ist auch verständlich,wenn man liest,welche Fragen gestellt werden.
Doch zurück zu meinem Problem, es hat sich gelöst, ich habe [superView addSubView:markerBox] vergessen.
Jetzt geht's.

Uwe

P.S. Ich werde noch den code für den slider nachliefern für alle, die diese einfache Beispiel weiterhelfen könnte.
 
Zuletzt bearbeitet:
Schon wieder ein Problem !
Die tickmarks weichen mit steigendem Abstand geringfügig vom origin ab, warum ist das so ?

sliderValue : -180.000 markerPosition : 0.000
sliderValue : -55.000 markerPosition : 173.611
sliderValue : 0.000 markerPosition : 250.000
sliderValue : 180.000 markerPosition : 500.000

Die berechneten Positionen scheinen zu stimmen. Ich habe in der Referenz gesehen, dass knobSize in Pixel zurück gegeben werden, muss ich da etwa umrechnen und wenn ja, sagt mir bitte wie . Im Anhang kann man sehen,was ich meine.


SliderMarker.jpg
 
Hallo,

dass ich mit den Profis nicht mithalten kann, ist mir klar
Es geht hier doch nicht um ein Wettbewerbsverhalten.
Da interpretierst Du ganz schön etwas hinein.

aber ich muss auch feststellen, dass jene auch keine Neigung haben, sich einem Unerfahrenen zuzuwenden
Ich kenne keinen Entwickler, der nicht bereit ist zu helfen.
Nur "helfen" ist etwas anderes als Grundlagen vermitteln und individuelle Probleme zu lösen.

Im Anhang kann man sehen,was ich meine.
Es tut mir leid, aber wie soll Dir da jemand helfen können?
Es gibt kein Beispielprojekt, keine situationsbezogene Code Ausschnitte, oder sonstige logische und nachvollziehbaren Erklärungen von Dir.
So ist Hilfe unmöglich.

Viele Grüße
 
Hallo,
ich hätte längst das Projekt angehängt, aber ich bin davon ausgegangen, das dass nicht so gerne gesehen wird.
Mir wurde mal der Vorwurf gemacht, dass ich andere meine Arbeit machen lassen möchte (in einem anderen Forum). Das will ich nicht, auf keinen Fall.
Ich wollte nun den Projekt-Ordner hochladen, aber geht nicht : GammaSlider.zip: Ungültige Datei.
Auch ein einzenes file geht nicht : VRSlider.h: Ungültige Datei

Uwe
 
Zuletzt bearbeitet:
Zurück
Oben Unten