Witam!
Pisząc program oparty o SDK napisane w C natrafiłem na problem otóż jedna z funkcji przyjmuje jako parametr wskaźnik typu short[short*] natomiast z opisu wynika że należy w to miejsce wstawić wskaźnik na strukturę.
Udostępniam oczywiście całą dokumentację, bibliotekę w wersjach: stsdcall oraz cdecl, plik nagłówkowy
Problem tyczy się funkcji SCL_ShowString[Linia 122 SCl_API_DLL.h]. W dokumentacji jest to rozdział 5.10 z refenrencją do rozdziałów 9.2[tu jest opis struktury] oraz 9.3.
Sama struktura nazywa się TextOutInfo. Typ BOOL w źródłach jest to 4 bajtowa liczba bez znaku[0-false]
Próbowałem to rozwiązać na kilka sposobów ostatnie rozwiązanie(nie działające):
Uint16 id = 0;
//ładowanie funkcji
[DllImport("SCL_API_stdcall.dll", CharSet = CharSet.Unicode)]
static extern uint SCL_Close(UInt16 DevID);
[DllImport("SCL_API_stdcall.dll", CharSet = CharSet.Unicode)]
static extern uint SCL_ComInitial(UInt16 DevID, int ComPort, int Boudrate, int LedNum,
int TimeOut, int retry, bool SCL2008);
[DllImport("SCL_API_stdcall.dll", CharSet = CharSet.Unicode)]
static extern unsafe uint SCL_ShowString(UInt16 DevID, short *info, string text);
//[...]
uint success = 0;
string ip = RemoveSpaces(textBox1.Text);
success = SCL_ComInitial(id, 7, 57600, 0, 2, 4, true);
TextOutInfo* info;
info->Left = 2;
info->Top = 2;
info->Height = 10;
info->Width = 50;
info->XPos = 0;
info->YPos = 0;
info->ASCFont = 1;
info->HZFont = 1;
success = SCL_ShowString(id, info, "test");
//Pominąłem sprawdzanie zadziałania funkcji(success > 0)
SCL_Close(id);
}
Z góry dziękuję i jeśli to możliwe proszę o szybką odpowiedź.
Pozdrawiam Bartek
-------edit--------
Zapomniałem dodać że SDK służy do obsługi telebimu