QzhbCgiParse API не работает

Я пытаюсь использовать QzhbCgiParse API в RPGLE для синтаксического анализа QUERY_STRING, но он продолжает выдавать ошибку «Параметр кода ошибки недействителен».

 Dcl-Pr QzhbCgiParse extproc('QzhbCgiParse');  

    cmdStr  char(100) const;   

    outFmt  char(8) const;                     

    targetBuf char(5000);                

    targetSize int(10) const;                  

    responseLen int(10);                 

    errorCode likeds(WPError);                 

 End-Pr;                                       

 Dcl-S  cmdStr  char(100);  

 Dcl-S  outFmt  char(8);   

 Dcl-S  targetBuf char(5000);

 Dcl-S  targetSize int(10);

 Dcl-S  responseLen int(10);

 Dcl-Ds WPError;         

   bytesProv int(10) inz(%size(WPError)); 

   bytesAvail int(10) inz(0);   

   errMsgId char(7);     

   *n char(1);          

   errMsgData char(40);    

End-Ds;            

QzhbCgiParse('-v ':'CGII0100': targetBuf: %size(targetBuf) : responseLen :WPError);

Я пробовал много структур данных для параметра кода ошибки, но все было напрасно. Пожалуйста, порекомендуйте.


person Sadam Husain    schedule 12.02.2018    source источник
comment
Как вы определили прототип QzhbCgiParse()?   -  person jmarkmurphy    schedule 12.02.2018
comment
Я включил прототип. Спасибо.   -  person Sadam Husain    schedule 13.02.2018


Ответы (1)


У меня это работает, проблема была в прототипе API. Как только я изменил прототип, как показано ниже, он отлично заработал.

Dcl-Pr QzhbCgiParse extproc('QzhbCgiParse');
 cmdStr  char(65535) const;               
 outFmt  char(8) const;                   
 targetBuf char(65535);                   
 targetSize int(10) const;                
 responseLen int(10);                     
 errorCode char(56);                      
End-Pr;                                     
person Sadam Husain    schedule 13.02.2018
comment
для cmdStr вы, вероятно, захотите options(*string: *trim: *varsize), а для targetBuf вы, вероятно, захотите options(*varsize). - person jmarkmurphy; 13.02.2018
comment
Спасибо за предложения - person Sadam Husain; 14.02.2018