[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    129

    [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!

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das hängt nun vom API ab.
    Offsets sind meist relativ zum Beginn der Struktur und nicht zum Beginn des USRSPC.
    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
    Sep 2004
    Beiträge
    129
    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!

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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

  5. #5
    Registriert seit
    Sep 2004
    Beiträge
    129
    Ja, ich denke das sollte mir helfen.
    Vielen Dank erstmal!

    Lg Peter
    Wer andren eine Bratwurst brät, hat ein Bratwurstbratgerät!

  6. #6
    Registriert seit
    Sep 2004
    Beiträge
    129
    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!

  7. #7
    Registriert seit
    Sep 2006
    Beiträge
    162
    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

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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 !
    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

  9. #9
    Registriert seit
    Sep 2004
    Beiträge
    129
    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

  1. Antworten: 2
    Letzter Beitrag: 24-02-05, 18:18
  2. Falsche Zeichen im Navigator
    By qiwi2000 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 12-01-05, 11:25
  3. Falsche Dateierstellungszeit beim CPYTOPCD
    By Der Gute in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-07-02, 12:47
  4. data propagator läuft nicht auf R5V1 falsche CCSID
    By rebe in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 04-04-02, 08:36
  5. RPG/400 - CPF4169 (Falsche Bildschirmgröße)
    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
  •