[Migrated content. Thread originally posted on 03 February 2005]
I wonder if anyone successfully tried calling the runtime dll from delphi code?I am trying, but my parameters never seem to get passed along to the cobol program.
I defined the 'acucall' procedure like this in delphi :
function AcuCall( Name: string; var arg0: Variant; var arg1: Variant;
var arg2: Variant; var arg3: Variant; var arg4: Variant;
var arg5: Variant; var arg6: Variant; var arg7: Variant;
var arg8: Variant; var arg9: Variant; var arg10: Variant;
var arg11: Variant; var arg12: Variant; var arg13: Variant
): integer ; stdcall; external 'wrun32.dll';
then i fill in some values in a form, initialize the rts and call AcuCall like this:
param1:='00100000XXXXX';
resultat:=AcuCall('my_prog.acu',
param1,
{ noparam, is a null variant }
noparam,
noparam,
noparam,
noparam,
noparam,
noparam,
noparam,
noparam,
noparam,
noparam,
noparam,
noparam,
noparam,
);
this starts the debugger with my program. the code looks something like this: (simplified)
01 LNK-AREA.
05 LNK-FTGNR PIC 9(3).
05 LNK-ENHETSNR PIC 9(5).
05 LNK-ANVANDARE.
07 LNK-ANVANDAREN PIC X(5).
LINKAGE SECTION.
77 call-variant usage handle.
Procedure division using call-variant.
call "C$GETVARIANT" using call-variant, lnk-area
giving result-code
string result-code delimited by size into kod
display MESSAGE kod title "kod"
* this box displays the return code, at present it is -2147352568, and the receiving field is as empty as ever.
Any hints or errors , feel free to point me in the right direction and give me a push....
Should i use another variant type in delphi, or not a variant at all.? Iam a bit lost and still a newbie!