[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Nicht ganz:
    Bei call by VALUE wird nicht die Adresse sondern das ganze Feld an die rufende Prozedur übergeben.
    Bei constant Reference wird immer eine Adresse weitergegeben, je nachdem die Adresse des Original-Feldes oder des Hilfs-Feldes

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Nun habe ich (leider) erwartet, dass CONST eben grundsätzlich eine Kopie erstellt. Dann träte dieses Problem ja erst gar nicht auf.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Nun habe ich (leider) erwartet, dass CONST eben grundsätzlich eine Kopie erstellt. Dann träte dieses Problem ja erst gar nicht auf.
    Dann wär's nicht besser als VALUES, bei dem immer eine Kopie erstellt wird.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Nicht ganz:
    Bei call by VALUE wird nicht die Adresse sondern das ganze Feld an die rufende Prozedur übergeben.
    Bei constant Reference wird immer eine Adresse weitergegeben, je nachdem die Adresse des Original-Feldes oder des Hilfs-Feldes
    Aber wenn die Adresse eines Hilfsfeldes übergeben wird, ist es doch ein call per Value, oder? Es muss doch erstmal eine Hilfskopie des Originalfeldes erstellt werden, denke ich.

    Deshalb habe ich das jetzt alles so verstanden: bei VALUES wird immer eine Kopie erstellt, bei CONST nur manchmal.
    Ist das korrekt?

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von dschroeder Beitrag anzeigen
    Aber wenn die Adresse eines Hilfsfeldes übergeben wird, ist es doch ein call per Value, oder? Es muss doch erstmal eine Hilfskopie des Originalfeldes erstellt werden, denke ich.

    Deshalb habe ich das jetzt alles so verstanden: bei VALUES wird immer eine Kopie erstellt, bei CONST nur manchmal.
    Ist das korrekt?
    ... der Unterschied liegt im Adressraum:
    - const gehört zum Aufrufer (der Aufgerufene kann also immer noch im aufrufenden Programm rummmurgeln)
    - value gehört zum Aufgerufenen (d.h. das geht nur, wenn beide das können, was bei externen stored Procdures nicht der Fall ist)

    Was lernen wir daraus: eigentlich beides Murks (RPG halt).

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Danke für alle Infos.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ist eine Variable mit CONST definiert, prüft nur der Compiler, ob eine Änderung versucht wird.
    Das geht sogar, wen man versucht per %ADDR eine Variable per Pointer zu definieren.
    Der Compiler lehnt dies bereits ab!

    Da man Const aber auch beim Aufruf von z.B. CLP's oder COBOL verwenden kann, diese jedoch CONST gar nicht kennen, ist hierrüber trotzdem eine Änderung möglich.
    Konzeptionell ist CONST also nicht sicher, da bei identischer Definition eben die Adresse direkt übergeben wird!
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. ILERPG Debugger Screen Size ändern
    By harkne in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 20-03-19, 11:35
  2. SQL UDFs und RPG, Probleme bei optionalen Parametern
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 30-11-17, 15:14
  3. UDTF mit optionalen Input-Parametern
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 09-10-17, 09:42
  4. ILERPG und embedded SQL
    By TheDevil in forum NEWSboard Programmierung
    Antworten: 22
    Letzter Beitrag: 16-02-16, 08:11
  5. SQL mit enthaltenen Parametern innerhalb von CL's
    By _MG_ in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 12-12-15, 12:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •