| |
|
|
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 natürlich nur funktionierte, wenn das OpenGL-Fenster das Hauptfenster des Programmes 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!
Gruß 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] Hallo, 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 groß sein kann, kann man auf diese Weise mit der erweiterten len-Funktion exakt das ermitteln, was du wissen möchtest.
Gruß 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 Header-Definition, die in dern eventuell angegebenen Header-Dateien nicht vorhanden ist einfach in einem selbst definierten Header-Verzeichnis nach der Definition sucht? Damit würde man sich das $H sparen und müsste nicht immer dran denken, welche Header 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 für Vertexwerte ist immer vorhanden, ein T steht für Texturwerte, ein C für Farbwerte und ein N für Normalwerte.
Gruß 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, für 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 Hilfe, 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 möglich, 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 große 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 möglich, 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 große 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 möglich, 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 große 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 übergeben) meldet...
MfG
Sebastian |
|
|
| |
|
|