Suchergebnisse

Suchergebnisse 161-180 von insgesamt 226.

  • Obwohl ich mir die »very simple rules for memory management in Cocoa« durchgelesen habe, scheint es gerade daran zu liegen, daß ich nun wieder vor einem Problem stehe. Der grobe Aufbau meines Programms ist wie folgt: <Font.h> Quellcode (3 Zeilen) <FontCollection.h> Quellcode (6 Zeilen) <FontTables.m> Quellcode (1 Zeile)Sobald der Compiler zu der Zeile in FontTables.m gelangt, kommt es zu einem Laufzeitfehler. Ich nehme stark an, daß die Instanz von Font, die mir createFontInstance eigentlich erz…

  • Lasse ich das Programm starten, wird alles korrekt geladen. Die GUI ist sichtbar und die NSLog-Einträge auch, doch dann öffnet sich der Debugger und zeigt mir halt die oben beschriebenen Funktionen. Gibt es einen grundlegenden Fehler beim Umgang mit dem NSMutableDictionary? Marco

  • Jetzt taucht allerdings eine wirkliche Exception auf. Quellcode (8 Zeilen) Marco

  • Ach dann ist ATSFontRef ein Integer? Das wußte ich nicht. Stelle ich mir das überhaupt richtig vor, daß ich später durch den über den Fontnamen erhaltenen ATSFontRef-Wert (weil ja kein Objekt mehr :-)) die ganzen ATS-Funktionen aufrufen kann? Müßte so sein. Marco

  • Die entsprechende Warning lautet: warning: passing argument 1 of 'setObject:forKey:' makes pointer from integer without a cast Das Log gibt die Fontnamen richtig aus. Kommentiere ich das Hinzufügen zum Dictionary aus, dann gibt er die komplette Liste und steigt erst danach aus ohne Angabe eines Grundes. Marco

  • Warum bitte kommt es bei folgender Klasse zu einer Exception? Quellcode (95 Zeilen)Mit einem NSMutableArray hat es bereits erfolgreich funktioniert. Nun wollte ich aber gern ein Dictionary der FontRefs, die ich über den Font-Namen als Key ansprechen kann. Marco

  • Wie kann ich denn den Pointer genau auf den Start des Name-Strings setzen? Folgender Code endet in einer Exception: Quellcode (3 Zeilen)Marco

  • Das mit dem neuen Speicher verstehe ich. Wie kann ich aber nun aus einem Teil des Speichers einen String generieren, sei der auch erstmal falsch codiert?

  • Ich komme mittlerweile richtig gut voran. Doch dann merke ich auch bald wieder, daß ich von C bisher nur wenig Ahnung habe. In der name-Table sind die Name-Records enthalten, die jeweils die Länge und den Offset für den jeweiligen Name String enthalten. Also versuche ich einen NSString auszulesen, doch das gelingt mir nicht. Quellcode (13 Zeilen)Kann mir jemand erklären, worin mein Fehler liegt? Marco

  • Gut okay. Dieses unentschuldbare Fehlverhalten der OS/2-Table (:D) bekomme ich ja durch den zweifachen Aufruf aus, der mir die korrekte Datengröße ausspuckt. Damit weiß ich dann also, daß alles was normalerweise hinter dieser Puffergröße kommen würde, nicht existiert und kann damit umgehen. Ist etwas berechenbarer als vorher Wenn ich mir so vorstelle, was ich machen will, dann scheint mir das garnicht so kompliziert zu sein und doch stoße ich alle Nase lang auf ein neues Problem. Das liegt natür…

  • Und die Lösung dieses Problems wäre? Sagen wir mal in der OS/2-Table fehlt zum Beispiel usWidthClass. In diesem Fall wäre doch die Ordnung vollkommen durcheinander und niemand könnte die Daten nun mehr richtig interpretieren. In meinen Augen ist die OS/2-Table damit unbrauchbar und alle darin enthaltenen Informationen wertlos.

  • Ach ja... In der OT-Spezifikation steht doch, daß die OS/2-Table zu den benötigten gehört. Unter welchem Umständen kann es zu kürzeren Tabellen kommen? Demnach müßten da ja bestimmte Werte fehlen und die Tabelle wäre doch nicht mehr interpretierbar. Wäre ich 'ne Firma, hätte ich schon lang solche Spezialisten wie euch angeheuert So muß ich mich alleine da durch quälen. Bin mal gespannt, wann der Knoten platzt. Wahrscheinlich hab ich mir auch einfach ein sehr anspruchsvolles Projekt ausgesucht. U…

  • Ich glaube es lag einfach daran, daß die OS/2-Table scheinbar nicht in jeder Schriftdatei enthalten ist. Mit einer professionellen Schrift funktioniert folgender Code: Quellcode (12 Zeilen)Deine UInt16Value-Funktion liest mir ja speziell die unsigned int's einer Länge von 2 Byte aus richtig? Für alle anderen Datentypen müßte ich also angepaßte Funktionen schreiben. Oder gibt es eine Möglichkeit, die komplette Tabelle gleich in eine Art Datenstruktur zu überführen wie z.B. ein struct? Die Struktu…

  • Ohne * geht's Wie muß denn die NSLog-Ausgabe aussehen, um mir diesen (für mich) obskuren UInt32 ausgeben zu lassen? Mit NSLog(@"%i", version); bekomm ich erst eine 0 und bei einem erneuten Aufruf einen ganz eigenwilligen Wert, der sicher nicht korrekt ist. Muß ich den Speicher für tableData eventuell wieder freigeben mit free? Marco

  • Folgender Test-Code mit deinen vorher definierten Funktionen Quellcode (10 Zeilen)ergibt folgende Warnungen, die in einer Exception resultieren: warning: passing argument 1 of 'UInt16Value' from incompatible pointer type warning: passing argument 2 of 'UInt16Value' from incompatible pointer type Was nun? Marco

  • p ist wohl Pointer, bei pMax muß ich schon mehr raten. Ich such jetzt mal nach einem Tutorial über die Pointer, damit ich da endlich mehr durchblicke. Das hilft hoffentlich schon, um einfach einen Puffer auszulesen. Marco P.S.: Ich werd noch wahnsinnig

  • Irgendwo hab ich mal gelesen, daß man sich unbeliebt macht, wenn man seine Variablen nicht aussagekräftig benennt Zeile 1-4: Typdefinitionen Zeile 6: Puffer mit maximaler Länge wird übergeben Zeile 10: Zeiger wird um zwei erhöht Zeile 11: korrekter Endianess-Wert wird zurückgegeben Zeile 14: zusätzlich mit Offset Ich werd' das gleich mal testen. Mal schauen, was bei rauskommt. Marco

  • He he. Von nicht wollen kann garnicht die Rede sein. Ich weiß nicht wie... stell mich echt etwas blöd dabei an, weil ich wohl viele grundlegende Konzepte der Sprache noch nicht verstehe. Abgesehen davon kann ich mit einer Zeile Code nicht viel anfangen. Ich bräuchte halt ein etwas aussagekräftigeres Stück Quelltext, damit ich nachvollziehen kann, was die Idee dahinter ist. Marco

  • Könntest du mir das an einem kurzen Beispiel zeigen? Denn ich hasse Pointer (ehrlich gesagt). Bisher konnte ich mich immer darum drücken. Doch jetzt werde ich mich wohl oder übel damit befassen müssen. Ein Struct wollte ich deshalb nicht verwenden, weil die OS/2-Table später eine Klasse wird. Marco

  • Weiß keiner einen Rat? Hier nochmal der entsprechende Code. Mit dem Auslesen sollte alles stimmen. Der Puffer wird gefüllt. Doch wie kann ich ihn danach durchlaufen, wenn ich die genaue Struktur der OS/2-Table kenne? Quellcode (16 Zeilen)Marco