пробуем сделать работу со сканером штрих-кода
в Экселе все работает. Галактика вылетает по ошибке:
- Exception: ExOle, ExOleBadCall
Неизвестная ошибка при открытии объекта "ScCt.Cpt" в окне
Описание:
Access violation at address 00F33A50 in module 'AtlAx.dll'. Read of address 00000000
Код: Выделить всё
interface va_CHIPER 'Работа со сканером' ( , , sci1Esc), Cyan, alwaysreturn;
Show at (5,2,100,30);
var
Cpt : longint
tsdCOMport: word;
tsdConnect: word;
create view ltVA
as select * from Pick ;
// ===========================================================================
//embedded emObj1 OLE;
//show at (,,,);
//end;
// ===========================================================================
screen sc1
// show at (,,,)
Fields
tsdCOMport;
Buttons
CmtsdConnect;
CmCancel;
<<
РАБОТА СО СКАНЕРОМ
порт .@@@@@
<. connect .>
<. cancel .>
>>
end;
// ===========================================================================
Handleevent
cmInit:
{
};
cmtsdConnect:
{
var M: string
Cpt := OleCreate('ScCt.Cpt')
if Cpt = 0 then exit;
Message ( CPT ) ;
// OleEmbed ( Cpt, emObj1);
// OleSetOptions ( Cpt, 2);
OleCall1( Cpt, ocPut,'Port',1)
OleCall1( Cpt, ocPut,'BaudRate',1)
OleCall1( Cpt, ocPut,'ConnectionType',0)
message('end set');
OleCall1( Cpt, ocFunc,'InitComm',0)
// If ( OleCall0( Cpt, ocProc,'InitComm') <> 0) Then {
// OleDestroy ( Cpt ) }
OleCall1( Cpt, ocGet,'State',m)
message ( m )
OleCall1( Cpt, ocGet,'StateMessage',m)
message ( m )
OleCall1( Cpt, ocFunc,'CloseComm',0)
OleDestroy ( Cpt )
}
cmClose:
{
! message('fff')
! CloseInterface(cmOK);
! Stop;
}
cmDone:
{
}
end; // HE
end.
OleCreate проходит успешно. но свойства установтиь не удается.