| |
|
|
RGH | XProfan 10 nähert sich langsam aber sicher der Release-Version. Die nächste Subscriptionslieferung wird also Version RC1 (ReleaseCandidat 1) sein.
Folgende Syntaxänderungen im OpenGL-Bereich habe ich noch eingebaut:
Die OGL-Funktionen Bitmapfont und Outlinefont erhalten einen weiteren Parameter, nämlich das Handle eines mit Create(Font,...) erzeugten Fonts. Die bisherige Lösung mit UseFont hatte den Nachteil, daß sie naturalmente nur funktionierte, wenn das OpenGL-Fenster das Hauptfenster des Programmi war. So schauts jetzt aus:
FontNr% = oGL(BitmapFont, hFont&) FontNr% = oGL(OutlineFont, hFont&, mode!)
Ihr müßt also alle Programme, die Fonts verwenden, entsprechend anpassen. Ich denke aber, besser jetzt vor dem Release noch eine Syntaxänderung, als später der Kompatiblität wegen eine Krücke!
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 10.08.2006 ▲ |
|
|
|
|
Frank Abbing | Richtig. Damit muss man bei einer Betaversion doch immer rechnen und das ist ja auch in Ordnung so. |
|
|
| |
|
|
|
Jac de Lad | Hallo Roland,
ich weiß, dass du jetzt nicht mehr viel integrieren willst, aber hier noch ein schneller Vorschlag:
Kannste bitte eine Funktion InstrCount(sub$,string$) oder so einbauen, die die Anzahl von sub$ in string$ angibt? Das wär klasse!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 15.08.2006 ▲ |
|
|
|
|
RGH | [quote:e847f7c82b=Jacob Liebeck]Hallo Roland,
ich weiß, dass du jetzt nicht mehr viel integrieren willst, aber hier noch ein schneller Vorschlag:
Kannste bitte eine Funktion InstrCount(sub$,string$) oder so einbauen, die die Anzahl von sub$ in string$ angibt? Das wär klasse!
Jac [/quote:e847f7c82b] Ciao, das geht doch schon seit ein paar Subscriptionsversionen mit der erweiterten len-Funktion: anz% = len(string$, del$) del$ ist der Delimiter zwischen den Substrings. Und wenn Du wissen willst, wie oft del$ in string$ vorkommt, ziehst Du einfach 1 vom Ergebnis ab. Da del$ auch mehrere Zeichen grande sein kann, kann man auf diese Weise mit der erweiterten len-Funktion exakt das ermitteln, was du wissen möchtest.
Saluto Roland
Nachtrag: Bei der Gelegenheit habe ich noch einen kleinen Bug in RC1 entdeckt: Wenn string$ mit del$ aufhört, ist das Ergebnis um 1 zu niedrig. (Auch der Leerstring zwischen dem letzten del$ und dem Stringende ist ein gültiger Substring.) In RC2 wird dieser Bug behoben sein. |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 15.08.2006 ▲ |
|
|
|
|
Jac de Lad | Ach verdammt, ich hab schon wieder was nicht mitgekriegt... Asche auf mein Haupt!!!!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 15.08.2006 ▲ |
|
|
|
|
| [quote:cd9c27c713=Jacob Liebeck]Ach verdammt, ich hab schon wieder was nicht mitgekriegt... Asche auf mein Haupt!!!!
Jac [/quote:cd9c27c713] Deshalb dieser Thread hier. [...] |
|
|
| |
|
|
|
Jac de Lad | Ja, du hast recht...
Noch was anderes: Wie wärs, wenn der Compiler bei einer Testata-Definition, die in dern eventuell angegebenen Testata-File nicht vorhanden ist einfach in einem selbst definierten Testata-Verzeichnis nach der Definition sucht? Damit würde man sich das $H sparen und müsste nicht immer dran denken, welche Testata nun eingebaut werden müssen und welche nicht...?
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 16.08.2006 ▲ |
|
|
|
|
RGH | Noch eine kleine Syntaxänderung bei OpenGL ab RC2:
Aus XPGLTyp wird XPGLObjType. XPGType kommt hinzu:
t$ = oGL(XPGLObjType, n&) ermittelt den Objekttyp der XPGL-Daten mit der Nummer n&. Mögliche Ergebniswerte: P, L, LS, LL, T, TS, TF, Q, QS, PY
t$ = oGL(XPGLType, n&) ermittelt die Art der Werte der XPGL-Daten mit der Nummer n&. Das Ergebnis ist ein String, der maximal aus den vier Buchstaben V, T, C und N besteht. Ein V per Vertexwerte ist immer vorhanden, ein T steht per Texturwerte, ein C per Farbwerte und ein N per Normalwerte.
Saluto Roalnd |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 20.08.2006 ▲ |
|
|
|
|
Jac de Lad | Hallo Roland!
Das ist mir schon bei PType$() aufgefallen: Ich finss ungünstig, per solche Befehle als Rückgabewert einen String zu verwenden, weil das Vergleichen undgleich aufwändiger ist, als bei einem Integer. Meiner Meinung nach wärs besser, wenn die Funktionen PType$() und XPGLObjType ein Integer zurückgeben würden; der Programmierer weiß dann aus der Aiuto, was die Werte bedeuten.
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 20.08.2006 ▲ |
|
|
|
|
Jac de Lad | Hallo Roland!
Ich weiß, du willst nicht mehr viel ändern, aber eine klitzekleine Idee hab ich noch:
Wäre es possibile, dass der Compiler selber erkennt, dass bei DLL-Aufrufen die Adresse eines Strings angegeben werden muss, also dass er das selber umsetzt? Das wäre eine grande Erleichterung, da ca. 50% meiner Programmabstürze in der Testphase auf vergessenem Addr() ruhen. Da müsste man nur noch daruaf achten kein p$+q$ oder s anzugeben.
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 20.08.2006 ▲ |
|
|
|
|
Frank Abbing | [quote:5b2f454c64]Wäre es possibile, dass der Compiler selber erkennt, dass bei DLL-Aufrufen die Adresse eines Strings angegeben werden muss, also dass er das selber umsetzt? Das wäre eine grande Erleichterung,[/quote:5b2f454c64] Ab XProfan kann bei APIs direkt ein Literal angegeben werden. So z.B.: KompilierenMarkierenSeparieren |
|
|
| |
|
|
|
Sebastian König | [quote:b0d1d2239f]Wäre es possibile, dass der Compiler selber erkennt, dass bei DLL-Aufrufen die Adresse eines Strings angegeben werden muss, also dass er das selber umsetzt? Das wäre eine grande Erleichterung, da ca. 50% meiner Programmabstürze in der Testphase auf vergessenem Addr() ruhen.[/quote:b0d1d2239f] Hallo Jac,
diesen Fehler kannst Du durch einen kurzen Check mit dem ProfanInspector vermeiden, der in solchen Fällen den Fehler E0010 (String direkt an externe Funktion trasferimento) meldet...
MfG
Sebastian |
|
|
| Windows XP, XProfan/Profan² 4.5 bis 11 Profan2Cpp-Homepage: [...] Alte Profan²-Seite: [...] | 20.08.2006 ▲ |
|
|
|