Seite 2 von 2

Re: Warum kein With in Macros?

Verfasst: 11.12.2021 23:24
von STARGÅTE
Bis auf das EndWhile --> Wend gibt es keinen Fehler, warum auch.
Während der Kompilierung wird "If Random(2)" gar nicht ausgewertet und da es ein With mit einem EndWith geschlossen wird, wird der Code ohne Fehler kompiliert.
Danach (zur Laufzeit) existiert kein With mehr, und im Debugger fehlen ein paar zweien von \y weil es im "If Random(2)".

Code: Alles auswählen

Global MyVar.POINT

MyVar\x = 1
MyVar\y = 2

Procedure MyProc()
  With MyVar
  Debug \x
  If Random(2)
  	Debug \y
    EndWith
  EndIf
EndProcedure

MyProc()
MyProc()
MyProc()
MyProc()
Was einen Fehler verursacht ist, wenn du CompilerIf verwendest und das EndWith nicht erreicht wird.

Re: Warum kein With in Macros?

Verfasst: 13.12.2021 08:42
von Demivec
jacdelad hat geschrieben: 10.12.2021 06:07 Warum ist With nicht in Macros erlaubt? Die Hilfe sagt nichts dazu.
Im ENGLISCHEN Forum sagte Fred:
https://www.purebasic.fr/english/viewtopic.php?p=309266

Re: Warum kein With in Macros?

Verfasst: 13.12.2021 08:52
von jacdelad
Ah ok. Naja, da ist das geklärt. Danke an alle.