Передача структур из VB6 в C++
Формулировка задачи:
Всем доброго дня. В общем создаю структуры на VB:
Объявляю импортируемую функцию:
Далее в кнопке пишу:
Код в С++:
В результате вычисляется неправильно значение во второй структуре:
506
2,91643768245327E-303
Листинг программы
- Public Type STVAR
- var1 As Double
- var2 As Double
- var3 As Double
- var4 As Double
- var5 As Long
- var6 As Long
- End Type
- Public Type STVAR2
- var1 As Long
- var2 As Double
- var3 As Double
- var4 As Double
- var5 As Long
- var6 As Long
- End Type
Листинг программы
- Public Declare Function ST_solver Lib "DLLC++.dll" (STV As STVAR, STV2 As STVAR2) As Long
Листинг программы
- Dim STV As STVAR
- Dim STV2 As STVAR2
- Dim resul As Long
- STV.var1 = 10
- STV.var3 = 4.6
- STV.var6 = 100
- STV2.var1 = 20
- STV2.var3 = 3.8
- STV2.var6 = 200
- resul = ST_solver(STV, STV2)
- Text1.Text = STV.var4 & vbCrLf & STV2.var4
Листинг программы
- struct STVAR
- {
- double var1;
- double var2;
- double var3;
- double var4;
- long var5;
- long var6;
- };
- struct STVAR2
- {
- long var1;
- double var2;
- double var3;
- double var4;
- long var5;
- long var6;
- };
- extern "C" __declspec(dllexport) long ST_solver(STVAR &STV, STVAR2 &STV2);
- extern "C" __declspec(dllexport) long ST_solver(STVAR &STV, STVAR2 &STV2) {
- STV.var4 = (STV.var1 + STV.var6) * STV.var3;
- STV2.var4 = (STV2.var1 + STV2.var6) * STV2.var3;
- return 0;
- }
Решение задачи: «Передача структур из VB6 в C++»
textual
Листинг программы
- #pragma pack(push, 1)
- struct STVAR2
- {
- long var1;
- double var2;
- double var3;
- double var4;
- long var5;
- long var6;
- };
- #pragma pack( pop )
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д