Здесь обсуждаются технические аспекты создания дополнений.
-
Cilvay
- Сообщения: 816
- Зарегистрирован: 14:55, 16.06.2008
Сообщение
Cilvay »
Код: Выделить всё
iSize := CommFortGetData(dwPluginID, 15, nil, 0, nil, 0); //получаем объем буфера
SetLength(aData, iSize);
CommFortGetData(dwPluginID, 15, PAnsiChar(aData), iSize, nil, 0);//заполняем буфер
iReadOffset := 0;
g := fReadinteger(PAnsiChar(aData), iReadOffset);
//act:=false;
for c := 0 to g-1 do begin
kan := fReadText(PAnsiChar(aData), iReadOffset);
ShowMessage(kan);
end;
В итоге видно все кроме канала main. Вместо него пустота приходит. В чем косяк?
-
SV
- Сообщения: 797
- Зарегистрирован: 00:11, 06.09.2010
- Откуда: Киров
Сообщение
SV »
Cilvay писал(а):Код: Выделить всё
iSize := CommFortGetData(dwPluginID, 15, nil, 0, nil, 0); //получаем объем буфера
SetLength(aData, iSize);
CommFortGetData(dwPluginID, 15, PAnsiChar(aData), iSize, nil, 0);//заполняем буфер
iReadOffset := 0;
g := fReadinteger(PAnsiChar(aData), iReadOffset);
//act:=false;
for c := 0 to g-1 do begin
kan := fReadText(PAnsiChar(aData), iReadOffset);
ShowMessage(kan);
end;
В итоге видно все кроме канала main. Вместо него пустота приходит. В чем косяк?
На сколько помню в документации написано что в первое значение приходит канала события,будет пустое, затем уже другие каналы.
-
Maxim Mirgorodsky
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Сообщение
Maxim Mirgorodsky »
Cilvay писал(а):Код: Выделить всё
iSize := CommFortGetData(dwPluginID, 15, nil, 0, nil, 0); //получаем объем буфера
SetLength(aData, iSize);
CommFortGetData(dwPluginID, 15, PAnsiChar(aData), iSize, nil, 0);//заполняем буфер
iReadOffset := 0;
g := fReadinteger(PAnsiChar(aData), iReadOffset);
//act:=false;
for c := 0 to g-1 do begin
kan := fReadText(PAnsiChar(aData), iReadOffset);
ShowMessage(kan);
end;
В итоге видно все кроме канала main. Вместо него пустота приходит. В чем косяк?
Блок данных (входящий): число(количество) + (текст(название канала) + текст(тема канала))*количество
Вы игнорируете тему.