-
 Zitat von dschroeder
Aber vielleicht weiß ja jemand, wie die Konvertierung zwischen den Datentype klappt, auch wenn const ein "call by reference" ist.
Gruß,
Dieter
Wenn ein Parameter mit CONST definiert wurde, wird die Adresse des Original-Feldes an die aufgerufene Prozedur übergeben, sofern Datentyp und Länge mit der Parameter-Definition übereinstimmen.
Bei abweichender Länge bzw. compatiblem Datentypen, wird ein Hilfs-Feld im erwarteten Format mit der entsprechenden Länge generiert und mit den Parameter-Daten aktualisiert. Anschließend wird dann die Adresse des Hilfsfeldes an die aufgerufene Prozedur übergeben.
Da nie sicher ist, ob es sich bei dem übergebenen Pointer um die Adresse des Original-Feldes oder des generierten Hilfsfeldes handelt, dürfen die übergebenen Daten in der aufgerufenen Prozedur nicht geändert werden.
In Baldurs Fall wird 2x die Adresse des Original-Feldes (einmal als Parameter und einmal als Datenstruktur-Unterfeld) übergeben. Da die Datenstruktur via Reference übergeben wurde, ist das Unterfeld nicht vor Überschreibung geschützt. Damit kann das Datenstruktur-Unterfeld geändert werden. Da jedoch bei dem Parameter, der mit CONST übergeben wurde die gleiche Adresse übergeben wurde, kann der Wert trotzt CONST geändert werden.
Bei VALUE hingegen wird immer ein Duplikat des Feldes erzeugt und dieses an die Prozedur übergeben.
M.E. ist das kein Bug, sondern eine bescheidene Programmierung.
Falls in einem solchen Fall in Zukunft ein Compile-Fehler auftreten sollte, würde ich empfehlen einen RFE (Recall for Enhancement) bei der IBM zu eröffnen.
Birgitta
Similar Threads
-
By harkne in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 20-03-19, 11:35
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 30-11-17, 15:14
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 09-10-17, 09:42
-
By TheDevil in forum NEWSboard Programmierung
Antworten: 22
Letzter Beitrag: 16-02-16, 08:11
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks