Kein Problem, z.B. C:
ITAB_H ItCreate(char * name,
unsigned leng,
unsigned occu,
unsigned memo);
Call sieht so aus:
ITAB_H handle;
void * ptr;
handle = ItCreate(“MyTable”, myTableSize, 0,0);
Hierfür sieht die RPG Definition dann aber so aus:
D TabName S 31A
D TabNameP S 16* INZ(%ADDR(TabName))
D Leng S 10U 0 INZ(0)
D Occu S 10U 0 INZ(0)
D Memo S 10U 0 INZ(0)
d ITabH S 16* INZ(*NULL)
DItCreate PR * EXTPROC('ItCreate')
D PARM1 LIKE(TabNameP) value
D PARM2 LIKE(Leng) value
D PARM3 LIKE(Occu) value
d PARM4 LIKE(Memo) value
// anlegen der internen Tabelle
TabName = 'TAB1' + NULL;
Leng = 20;
Occu = 2;
Memo = 0;
ITabH = ItCreate(TabNameP:Leng:Occu:Memo);
Ich kenne mich in C überhaupt nicht aus. Was mich stutzig macht, ist schon mal, dass der Tabellenname in C wohl als String übergeben wird, in RPG aber der Zeiger auf den Namen. Die RPG Zeilen sind aus einem Beispielsprogramm zitiert.
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks