Proc verschachteln

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Darf Proc offiziell verschachtelt werden? Die Hilfe gibt dazu leider nichts her, das folgende Beispiel funktioniert aber:


    Außerdem steht da noch die Frage im Raum, ob das überhaupt irgendwo sinnvoll ist.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/90TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
    TerraMaster F4-420 mit 14TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Das funktionierte wohl auch schon damals bei Version 5 ohne besondere Erwähnung. Lt. Hilfe zu XProfan 11 aber auch offiziell: 'Die PROC-ENDPROC-Verschachtelung, und damit die Rekursionstiefe ist unbegrenzt...' Steht dort aber unter 'XProfan ohne Grenzen', wo man eher nicht danach sucht...


    Nachtrag: Ob sinnvoll oder nicht ? Wenn 'proc2' lediglich eine 'Unterfunktion' von 'proc1' ist (und nur von dieser !) kann es den Code eventuell übersichtlicher machen.

    Matthias Arlt
    WinXP SP2/Win7 - XProfan 10/11/FreeProfan32 - Xpia

    Einmal editiert, zuletzt von MaZz ()

  • In XProfan-11.2a können optisch verschachtelte Proc von aussen genau so aufgerufen werden wie die "übergeordnete" Proc. Ist logisch gesehen das selbe, als ständen beide abgeschlossen hintereinander. Aus Programmierersicht könnte aber damit "logische Zugehörigkeit" angezeigt werden - solange man die verschachtelten Procnamen nicht doppelt benutzt. Hat sich das bei den neueren Versionen geändert?

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • @MaZz: Ich bin mir sicher, dass mit Proc/EndProc-Verschachtelung die maximale Rekursionstiefe beim Aufrufen gemeint ist.


    Aber gut zu wissen, ich persönlich finde man sollte Procs im Quelltext nicht verschachteln.


    Wie steht es mit ASM?

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/90TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
    TerraMaster F4-420 mit 14TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Das Verschachteln kann zum Kürzen des Codes genutzt werden - lokale Variablen gleichen Namens wie in der übergeordneten Proc neu belegt werden. Mache ich ab und zu.


    Bei Asm geht das nicht mit Verschachteln, da hier der Stack durcheinander kommt. Der Einfachheit halber hat Roland das nicht vorgesehen. Ist auch OK so.


    Eigentlich sollte auch ich mir diese Art der Programmierung abgewöhnen.
    :oops:

  • In XProfan-11.2a können optisch verschachtelte Proc von aussen genau so aufgerufen werden wie die "übergeordnete" Proc. Ist logisch gesehen das selbe, als ständen beide abgeschlossen hintereinander. Aus Programmierersicht könnte aber damit "logische Zugehörigkeit" angezeigt werden - solange man die verschachtelten Procnamen nicht doppelt benutzt. Hat sich das bei den neueren Versionen geändert?

    Das ist und bleibt so!


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de