Thanks Experts!
Ultimately, it was through asking OpenAI o3
A relay DLL was recompiled in C++ to specifically provide data for JMP.But only a 32-bit JMP can be used
The problem is that the data reading in the JMP table cannot display Chinese correctly.
The AI has modified CPP multiple times but failed. Even when different character sets were used in the Settings of JMP, it still didn't work and remained garbled.
Names Default To Here(1);
dll = Load DLL("I:\\DZH\\Bridge\\Bridge.dll");
dll << Declare Function("Bridge_Init@4", Convention(STDCALL), Alias("Bridge_Init"), Arg(UInt32), Returns(Int32));
dll << Declare Function("Bridge_Quit@0", Convention(STDCALL), Alias("Bridge_Quit"), Returns(Void));
dll << Declare Function("Bridge_GetCount@0", Convention(STDCALL), Alias("Bridge_GetCount"), Returns(Int32));
dll << Declare Function("Bridge_ReadTSV@4", Convention(STDCALL), Alias("Bridge_ReadTSV"), Arg(Int32), Returns(AnsiString));
If(dll << Bridge_Init(36865) != 1, Throw("Bridge_Init失败"));
dt = New Table("L1_Snapshot",
New Column("Name", Character, "Nominal"),
New Column("Epoch", Numeric, "Continuous"),
New Column("NewPrice", Numeric),
New Column("B1_P", Numeric), New Column("B1_V", Numeric),
New Column("S1_P", Numeric), New Column("S1_V", Numeric),
New Column("B2_P", Numeric), New Column("B2_V", Numeric),
New Column("S2_P", Numeric), New Column("S2_V", Numeric),
New Column("B3_P", Numeric), New Column("B3_V", Numeric),
New Column("S3_P", Numeric), New Column("S3_V", Numeric),
New Column("B4_P", Numeric), New Column("B4_V", Numeric),
New Column("S4_P", Numeric), New Column("S4_V", Numeric),
New Column("B5_P", Numeric), New Column("B5_V", Numeric),
New Column("S5_P", Numeric), New Column("S5_V", Numeric)
);
While(1,
cnt = dll << Bridge_GetCount();
For(i=0, i<cnt, i++,
line = dll << Bridge_ReadTSV(i);
If(Is Missing(line)==0 & Contains(line, "\t"),
vals = Words(line, "\t");
If(N Items(vals)==23,
dt << Add Rows(1);
r = N Rows(dt);
Column(dt,1)[r] = vals[1];
Column(dt,2)[r] = Num(vals[2]);
Column(dt,3)[r] = Num(vals[3]);
idx=4;
For(c=4, c<=23, c++,
Column(dt,c)[r] = Num(vals[idx]); idx++;
);
);
);
);
Wait(0.1);
);