I am not an expert, but since none answered so far, I try to help noneless.
One way that would work is: Blitz can tell the DLL a bank adress (absolute 32Bit). The DLL may then write the string to the bank, NULL terminated or whatever you like. Simply use RTLMemoryMove in the DLL. When you are using a Userlib to access the DLL, then you can use the banks handle from ithin Blitz and BLitz will send its adress. If you want to use the CallDLL method, you still can hack a banks absolute Data Adress, see COde Archives/userlibs/bankAsImage on how to obtain a banks absolute data segement adress.
One way that would work is: Blitz can tell the DLL a bank adress (absolute 32Bit). The DLL may then write the string to the bank, NULL terminated or whatever you like. Simply use RTLMemoryMove in the DLL. When you are using a Userlib to access the DLL, then you can use the banks handle from ithin Blitz and BLitz will send its adress. If you want to use the CallDLL method, you still can hack a banks absolute Data Adress, see COde Archives/userlibs/bankAsImage on how to obtain a banks absolute data segement adress.