This is topic Передача строк in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000151.html

Posted by andreitopaz (Участник № / Member № 1691) on :
 
У меня возникла проблема с передачей строк из Trace Mode через подключаемую библиотеку - передаётся только первый символ. Как решить эту проблему?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
А каким образом пытаетесь передать строку? Пример привести кода библиотеки и описание ее в ТМ6 можете?
 
Posted by andreitopaz (Участник № / Member № 1691) on :
 
Вот пример:
В MS Visual Studio
------------------------------------------------
extern "C" __declspec(dllexport) void __cdecl add(__int8 type,__int8 num, LPSTR name)
{
static char ch[3];
static char str[100];
static __int32 nb;
HANDLE fl=CreateFileA("C:\\KCO-2\\fromscad.csv",GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_ALWAYS,0,0);
if(fl!=INVALID_HANDLE_VALUE){
if(SetFilePointer(fl,0,NULL,FILE_END)!=INVALID_SET_FILE_POINTER)
{
str[0]='\0';
switch(type)
{
case 1:strcat(str,"OAR");break;
}
//strcat(str,itoa(type,ch,10));
strcat(str,";");
strcat(str,itoa(num,ch,10));
strcat(str,";");
strcat(str,name);
strcat(str,"\n");
WriteFile(fl,&str,sizeof(str),(LPDWORD)&nb,NULL);
}
CloseHandle(fl);
}
}

В Trace Mode на ST:
----------------------------------------------
PROGRAM
VAR_INPUT OAR1_Active : BOOL; END_VAR
VAR_INPUT OAR1_Name : STRING; END_VAR

if OAR1_Active then
write(1,1,OAR1_Name);
end_if;

END_PROGRAM
 
Posted by andreitopaz (Участник № / Member № 1691) on :
 
Передача идёт через переменную - OAR1_Name
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В TM6 используется UNICODE.
 
Posted by Student (Участник № / Member № 1948) on :
 
LPSTR - это указатель, а не STRING
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2