| |
|
|
Torsten Rümker | Ich arbeite manchmal mit verschachtelten Proceduren, und bekomme wenn ich den xpse zum Compilieren benutze, eine Warnung das Variablen nicht deklariert sind. KompilierenMarkierenSeparieren ist natürlich arg vereinfacht, aber in diesem Fall beschwert sich Xpse, das ich die Variable beispiel% in der Procedure innen nicht deklariert habe.
Jetzt stellt sich natürlich die Frage, ist das ein Fehler von mir oder von Xpse?
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 08.10.2006 ▲ |
|
|
|
|
| Nun dieser Fehler vom XPSE dürfte nur in der Version von gestern vorkommen - die heutige Version machts richtig. Was Du da machst ist natürlich erlaubt solange innen wirklich in Aussen ist.
Ich poste aber gleich nochmal ein Update - hatte einen Bug bei den Compilerschaltern drin. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Torsten Rümker | Jau ist logisch so sollte es natürlich nicht geschrieben werden.
Den Xpse den ich benutzte hatte ich unmittelbar vor meinem Test heruntergeladen.
War mein erstes mal
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 08.10.2006 ▲ |
|
|
|
|
Sebastian König | [quote:e6d761775e]Das widerum ist nicht erlaubt und wird auch zurecht angemeckert.[/quote:e6d761775e] Naja - erlaubt ist es in (X)Profan leider, wenn auch wirklich sehr unschön...
MfG
Sebastian |
|
|
| |
|
|
|
| Die aktuelle V0.1.6b reagiert so auch? Dann bräuchte ich vielleicht nen Stück Source damit der Bug nachvollziehbar ist... |
|
|
| |
|
|
|
| [quote:faebaede03=Sebastian König][quote:faebaede03]Das widerum ist nicht erlaubt und wird auch zurecht angemeckert.[/quote:faebaede03] Naja - erlaubt ist es in (X)Profan leider, wenn auch wirklich sehr unschön...
MfG
Sebastian[/quote:faebaede03] Ja ich weiß lol aus sicht des ausführenden Programmes ists ja dann auch intern.
Ich finde aber man sollte nicht jeden Unsinn unterstützen. |
|
|
| |
|
|
|
Jac de Lad | Aber es funktioniert bestens so... |
|
|
| 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 | 10.10.2006 ▲ |
|
|
|
|
| [quote:95537f47ff=Jacob Liebeck]Aber es funktioniert bestens so... [/quote:95537f47ff] Wofür es aber keine Garantie gibt - besonders nicht was nachfolgende Versionen betrifft. |
|
|
| |
|
|
|
RGH | Hallo,
mit der Sichtbarkeit der Variablen halte ich es so, wie Delphi bzw. Pascal (und etliche andere Programmiersprachen):
Wenn Prozedur_A eine Prozedur_B aufruft, dann sind die Variablen von Prozedur_A in Prozedur_B sichtbar. Das wird auch so bleiben.
Auf eine Verschachtelung von Prozeduren (also Prozeduren, die im Quellcode innerhalb einer anderen Prozedur stehen), würde ich verzichten. Das hat derzeit in XProfan nur eine rein optische Wirkung, da auch die innere Prozedur von außerhalb der äußeren Prozedur gefunden wird. (Das ist in Delphi/Pascal anders und war in XProfan auch mal anders geplant.)
PS: Nach der reinen objektorientierten Lehre sind Methoden innerhalb von Methoden nicht möglich, und Prozeduren, die nicht als Methode an ein Objekt gekoppelt sind, und sei es ein statisches Objekt, sind auch nicht möglich.
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.10.2006 ▲ |
|
|
|
|
| |
|
| |
|
|
|
RGH | Dieses Beispiel zeigt allerdings auch, warum man dieses Feature eher sparsam verwenden sollte. In größeren Programmen wird es dann leich unübersichtlich, wenn es auf mehreren Ebenen Variablen gleichen Namens gibt und sie auf diese Weise verwendet werden.
Ich ziehe es vor, in Prozeduren nur lokale Variablen und die Übergabeparameter zu verwenden; eventuell noch möglichst wenige globale Variablen, die am Programmanfang bzw. im Hauptprogramm auch deutlich als solche ersichtlich sind. Zwischen dem was eine Sprache erlaubt und was gutem Programmierstil entspricht, gibt es halt manchmal Unterschiede! ;)
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.10.2006 ▲ |
|
|
|