-
[gelöst] QUSPTRUS falsche Pointerposition???
Hallo!
Ich habe eine Prozedur die einen Userspace in QTEMP erstellt und mir dann den Pointer darauf zurückgibt.
Benutze dazu 2 Datenstrukturen
RetrieveDS Based(rtvptr)
nbrrtn 1 4b 0
recieved 5 35a
SpcHedDS Based(spcptr)
offset 125 128b 0
nbrlst 133 136b 0
etysiz 137 140b 0
Der Pointer SPCPTR wird von der Prozedur gefüllt. Dann wird dem Pointer RTVPTR der Wert dieses Pointers (SPCPTR) + dem Offset zugewiesen. Wenn ich das dann auslese ist alles um 4 Stellen verschoben. Mit RTVPTR = SPCPTR + Offset - 4 funktionierts. Das kann aber doch nicht des Rätsels Lösung sein, oder?
Was hab ich da bitte übersehen?
Liebe Grüße
Peter
Last edited by dabeda; 26-09-06 at 11:48.
Wer andren eine Bratwurst brät, hat ein Bratwurstbratgerät!
-
Das hängt nun vom API ab.
Offsets sind meist relativ zum Beginn der Struktur und nicht zum Beginn des USRSPC.
-
Ich fülle den Userspace mit der API QUSLOBJ.
Wie finde ich da heraus an welcher Stelle ich zu lesen beginnen soll??
Heißt das dass ich den Offset der mir zurückgegeben wird gar nicht brauchen kann?
Wer andren eine Bratwurst brät, hat ein Bratwurstbratgerät!
-
-
Ja, ich denke das sollte mir helfen. 
Vielen Dank erstmal!
Lg Peter
Wer andren eine Bratwurst brät, hat ein Bratwurstbratgerät!
-
Also ich hab mir das jetzt alles durchgelesen, kann aber keinen Fehler entdecken.
Es sollte doch so sein dass sobald der UserSpace gefüllt wird, der richtige Offset in der SpcHedDS steht. Wenn ich in diese Datenstruktur ein 1024 Alpha Feld dazu gebe und mir das im Debug-Modus anschaue, dann steht an der genannten Offset-Stelle auch der Beginn der Daten die ich haben möchte.
Leider steht in den IBM-Beispielen das QUSPTRUS-API nur in den C Beispielen.
Bin etwas verwirrt ...
Wer andren eine Bratwurst brät, hat ein Bratwurstbratgerät!
-
Hallo, hier die Adresse zu der von dir benutzte API http://as400bks.rochester.ibm.com/is...is/quslobj.htm . Wichtig ist, das du die zurückgelieferten Datenstrukturen (stichwort General data Struktur) richtig auswertest. Hier findest du nämlich den Offset und Länge zu den von dir angeforderten Informationen.
Wenn du über Google nach deiner API suchst, findest du genug Beispiele.
Gruß
DVE
-
Ich vermisse, wo du deinen SPCPTR setzt, denn SPCPTR und RTVPTR müssen identisch sein.
Ich denke da liegt dein Fehler, denn NBRRTN zählt zum Header DAZU und da hast du deine fehlenden 4 Bytes !
-
Jaaa, jetzt gehts!! Danke Fuerchau, das wars. Die Receiver Variable muß bei Stelle 1 beginnen und nicht bei 5.
Muß mir das jetzt peinlich sein?
Liebe Grüße Peter
Wer andren eine Bratwurst brät, hat ein Bratwurstbratgerät!
Similar Threads
-
By S. Diether in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 24-02-05, 18:18
-
By qiwi2000 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 12-01-05, 11:25
-
By Der Gute in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 04-07-02, 12:47
-
By rebe in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 04-04-02, 08:36
-
By LaLeLi in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 11-02-02, 06:45
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