Du musst das API schon mit ALLEN REQUIRED! Parametern aufrufen und kannst nicht einfach irgendwo was weglassen!
Das war/ist meine Prozedur, die bereits seit ein paar Jahrhunderten problemlos läuft:
1. Parameter und Referenz-Datenstrukturen:
2. Aufruf aus RPGCode:D DspWdwTxt PR ExtPgm('QUILNGTX') D ParmText 65535 const options(*VarSize) D ParmLenText 10I 0 const D ParmMsgId 7A const D ParmQualMsgFile... D 20A const D ParmError1 likeDS(DS_Error1) * Error Datenstruktur D DS_Error1 DS Qualified D ByteProv 10I 0 inz(%Size(DS_Error1)) D ByteAvail 10I 0 inz(*Zeros) D MsgId 7 inz(*Blanks) D Reserved 1 inz(x'00') D ExceptData 256 inz(*Blanks)
3. Wrapper Procedure:Code:H DEBUG *-----------------------------------------------------------------* D/COPY QPROLESRC,DSPWDWTXT D BspText S 65535 varying *-----------------------------------------------------------------* /Free BspText = 'Dies soll nur ein kurzer Text sein, um das + API QUILNGTX auszuprobieren! + Das UIM API QUILNGTX (Display Long Text) stellt eine + einfache Möglichkeit dar, einen beliebigen Text + in einem Fenster anzuzeigen. + Das Erstellen einer Display-File + ist dazu nicht erforderlich.'; DspWdwTxt(BspText: %Len(BspText): *Blanks: *Blanks: DS_Error1); *InLR = *On; /End-Free
3.1. Prototyp
3.2. Wrapper ProzedurCode:D DspWDW PR ExtProc('DSPWDW') D ParmText 65535 const varying
3.3. Aufruf Wrapper ProzedurCode:H DEBUG NoMain *-----------------------------------------------------------------* D/COPY QPROLESRC,DSPWDWTXT *------------------------------------------------------------------* P DspWDW B Export D DspWdW PI D ParmText 65535 const varying /Free DspWdWTxt(ParmText: %Len(ParmText): *Blanks: *Blanks: DS_Error1); Return; /End-Free
BirgittaCode:H DEBUG *------------------------------------------------------------------* D/COPY QPROLESRC,DSPWDWTXT D BspText S 65535 const varying *-------------------------------------------------------------------* /Free BspText = 'Dies soll nur ein kurzer Text sein, um das + API QUILNGTX auszuprobieren!'; DspWDW(BspText); DspWDW('Der Text kann auch direkt übergeben werden.'); *INLR = *ON; /End-Free
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks