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 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    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 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    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