| |
|
|
Jac de Lad | Hallo iF:
Nicht alle Header-Definitionen werden von XPSE erkannt, Beispiel: Wenn man bei LVM_EnsureVisible die Tilde weglässt, kommt ein Fehler, weil LVM_EnsureVisible aus anderen Header-Definitionen zusammengesetzt ist. |
|
|
| 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 | 02.11.2006 ▲ |
|
|
|
|
| Ha stimmt! Guter feiner Bug
Werd ich beheben, natürlich. |
|
|
| |
|
|
|
Jac de Lad |
Noch was: Bei Prozeduren mit mehreren Parametermöglichkeiten (zum Beispiel durch Abfrage von %PCount oder PType$) wird Mehrfachdeklaration gemeldet. Aber ich denke, das ist nicht so einfach für XPSE zu erkennen und entsprechend zu ignorieren... |
|
|
| 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 | 02.11.2006 ▲ |
|
|
|
|
| [quote:0a7dc26065=Jacob Liebeck]
Noch was: Bei Prozeduren mit mehreren Parametermöglichkeiten (zum Beispiel durch Abfrage von %PCount oder PType$) wird Mehrfachdeklaration gemeldet. Aber ich denke, das ist nicht so einfach für XPSE zu erkennen und entsprechend zu ignorieren...[/quote:0a7dc26065] Das hab ich iF auch schon gemeldet, er meint das sei eine falsche Syntax |
|
|
| |
|
|
|
Jac de Lad | Aber %PCount ist doch dafür da um überladene Prozeduren zu schreiben, die mit verschiedenen Parameterkonstellationen gefüttert werden können? Oder denke ich da falsch??? |
|
|
| 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 | 03.11.2006 ▲ |
|
|
|
|
RGH | [quote:f19cc039a5=Jacob Liebeck]Aber %PCount ist doch dafür da um überladene Prozeduren zu schreiben, die mit verschiedenen Parameterkonstellationen gefüttert werden können? Oder denke ich da falsch???[/quote:f19cc039a5] Nein, du denkst da vollkommen richtig, zumindest, was die XProfan-Syntax betrifft.
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 | 03.11.2006 ▲ |
|
|
|
|
Jac de Lad | Ich denke aber, es ist für iF schwer da was zu zaubern um solche Bedingungen zu erkennen... |
|
|
| 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 | 03.11.2006 ▲ |
|
|
|
|
| Ja es ist nicht nur schwer. da man also auch mit var mehrfach deklarieren kann - und xpse nicht die argumente der ifs auswerten kann (weil das programm einfach schlichtweg nicht läuft zum xpse-zeitpunkt ) habe ich tatsächlich noch nicht die Königslösung im Kopf. Was Parameters betrifft jedoch könnte ich dem xpse schon beibringen derartige Doppeldeklarationen zu ignorieren.
Das Überladen von Funktionen in anderen Sprachen geht etwas anders - dort werden auch nicht ein und die selben Ids mehrfach deklariert - es kommen halt einfach nur welche dazu.
Ich muss mir dazu halt was überlegen. |
|
|
| |
|
|
|
RGH | [quote:e9dbf2b208=iF]Ja es ist nicht nur schwer. da man also auch mit var mehrfach deklarieren kann - und xpse nicht die argumente der ifs auswerten kann (weil das programm einfach schlichtweg nicht läuft zum xpse-zeitpunkt )[/quote:e9dbf2b208] Aus diesem Grund ist das mit Doppeldeklarierung in XProfan auch ein Laufzeitfehler, d.h. ein Fehler, der erst zur Laufzeit festgestellt werden kann. Ich denke hier kann XPSE nicht definitiv feststellen ob etwas mit Declare oder Var doppelt deklariert wird. Selbst Var könnte ja in einer If-Else-Endif-Struktur zweimal mit dem gleichen Identifier vorkommen: KompilierenMarkierenSeparieren 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 | 03.11.2006 ▲ |
|
|
|
|
| Tjupp. Werde ich XPSE also beibringen, wenn mit parameters oder var deklariert wird, und der identifier bereits existiert (egal ob local oder global), das dann trotzdem keine Warnung ausgegeben wird. Das machts nicht einfacher |
|
|
| |
|
|
|
RGH | Ich denke, typische Laufzeitfehler kann auch der beste XPSE nicht feststellen, da diese eben erst zur Laufzeit auftreten können. Das heißt: Einen ausführlichen Test des fertigen Programmes kann einem auch kein noch so strenger Compiler oder XPSE abnehmen.
Gruß Roland
BTW: Auch Declare kann ja in so einer Struktur mehrmals mit gleichem Identifier vorkommen. Ich würde also sagen: XPSE kann solche Doppel-Deklarationen prinzipiell nicht überprüfen, egal ob die Deklaration mit Declare, Var, oder Parameters erfolgt. XPSE kann bei einer Variablen im Programm höchstens überprüfen, daß eine Variable dieses Namens irgendwo deklariert wird, aber nicht, ob sie zur Laufzeit beim Abarbeiten der speziellen Zeile auch schon deklariert sein wird. Derartige Fehlermldungen sind der Laufzeit zu überlassen. |
|
|
| 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 | 03.11.2006 ▲ |
|
|
|
|
| Ich weiß. :|
So ein Update auf V0.1.6v [...] diese Version löst auch dann Konstanten bis zum Ende auf, wenn diese nicht per ~ (tilde) aufgerufen werden und selbst wiederum Konstanten beinhalten. (Eigendliche ThreadThema)
Das Doppeldeklarieren mit var und parameters wird nun auch nicht mehr angemeckert. |
|
|
| |
|
|