Deutsch
Forum

Nicht alle Header-Defs werden von XPSE erkannt

 
- Seite 1 -



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  
 



 
- Seite 1 -



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.
 
03.11.2006  
 




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
!
<...>

Select %pcount

    CaseOf 0

    var a& = 0
    var b& = 200

    CaseOf 1

    parameters a&
    var b& = 200

    CaseOf 2

    parameters a&, b&
    Otherwise
    fehler("Falsche Parameterzahl")

EndSelect

<...>

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
 
03.11.2006  
 




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.
 
03.11.2006  
 



 
- Seite 2 -



KompilierenMarkierenSeparieren
 
03.11.2006  
 



Und bei Rolands o.g. Source (welcher sicher nur schnell dahingetippt wurde) kommen jetzt nur noch diese richtigen Warnings:
KompilierenMarkierenSeparieren
<...>

Select %pcount

    CaseOf 0

    var a& = 0
    var b& = 200

    CaseOf 1

    prameters a&
    var b& = 200

    CaseOf 2

    prameters a&, b&
    Otherwise
    fehler("Falsche Parameterzahl")

EndSelect

<...>

 
03.11.2006  
 




Nico
Madysa
lol, da hatte sich wohl jemand vertippt.

Ich habe jetzt noch eine Frage, die hoffentlich heilwegs hierher passt:
Ist var jetzt ein XPSE- oder ein XProfan-Befehl. Weil XProfed das var erkennt (im Gegensatz zu for und to), ich aber noch keine Meldung über das var gelesen habe.
 
Nico Madysa
03.11.2006  
 



ein XProfan-Feature...

Roland hat es bereits hier in der Community geoutet. Erst neulig sogar - suche mal...
 
03.11.2006  
 




Nico
Madysa
Ah so, okay, das war in der Zeit, in der mir ein PC-Surzflug die neuen Postings gekillt hatte.
 
Nico Madysa
03.11.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

19.238 Betrachtungen

Unbenanntvor 0 min.
p.specht19.10.2018
iF13.01.2016
Georg Teles09.09.2015
GDL09.09.2015
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie