Hi all,
today I got an index out of range trap when I tried to wrap this simple module into a dll:

MODULE OsBoundedBufferDll;
  PROCEDURE MaxCountOfEntries* (): INTEGER;
  BEGIN RETURN 5
  END MaxCountOfEntries;
END OsBoundedBufferDll.

DevLinker.LinkDll
OsBoundedBufferDll.dll := OsBoundedBufferDll # ~

 

index out of range

 DevLinker.Insert   [00004466H]
     .hint                               INTEGER                                            -2
     .i                                    INTEGER                                            16
     .idx                                INTEGER                                            40
     .name                            ARRAY 40 OF SHORTCHAR            "MaxCountOfEntries"
 DevLinker.WriteExport   [000049E4H]
     .e                                   DevLinker.Export                               [012AF510H]
     .i                                    INTEGER                                            1681092118
     .name                            ARRAY 256 OF CHAR                      "OsBoundedBufferDll.dll"   ...
     .ni                                  INTEGER                                            40
     .ss                                 ARRAY 256 OF SHORTCHAR          "OsBoundedBufferDll.dll"   ...
 DevLinker.WriteOut   [00004DA2H]

 

In DevLinker there seems to be an upper limit of about 39 for the sum of lengths of module name and exported procedure name. The trap disappeared after I had done a small modification to module DevLinker at the beginning of procedure WriteImport:

    IF i > 0 THEN NEW(ntab, 40 * i) END;
    modified to
    IF i > 0 THEN NEW(ntab, 256 * i) END;

 

In the future I intend to write a standard software package at the company which will be used by my colleagues. They are mainly hardware engineers but no computer scientists, so it is very important for me to write software with very sound and readable names for procedures, etc. Therefore a limit of about 40 chars is too small for the sum of module name and procedure name. So I would like to kindly ask OMS to remove this limit by allowing e.g. 255 chars for all names as it is partially done already in DevLinker for some names.

Thanks in advance and best regards,
Rainer Neubauer

 
-31X-TM