BOOL CErrorsDialog::OnInitDialog() { CDialog::OnInitDialog(); // Set the help button to be inactive m_ctlHelp.EnableWindow(FALSE); // Read in the error information from IErrorRecords CDBErrorInfo errInfo; ULONG ulRecords = 0; HRESULT hr; hr = errInfo.GetErrorRecords(m_spUnk, m_iid, &ulRecords); if (FAILED(hr) || hr == S_FALSE || ulRecords == 0) { CString strError; if( strError.LoadString(IDS_NOSPECIFIED_SOURCE) == FALSE) { AfxThrowResourceException(); } m_ctlListSource.AddString(strError); } else { LCID lcid = GetUserDefaultLCID(); for (ULONG l=0; l<ulRecords; l++) { // Get the error information from the source struct MYERRORINFO* pInfo = new MYERRORINFO; #pragma warning(disable: 6011) // unexpected null dereference prefast warning hr = errInfo.GetAllErrorInfo(l, lcid, &pInfo->bstrDescription, &pInfo->bstrSource, &pInfo->guid, &pInfo->dwHelpContext, &pInfo->bstrHelpFile); #pragma warning(default: 6011) // unexpected null dereference prefast warning if (FAILED(hr)) { delete pInfo; continue; } m_listErrorInfo.AddTail(pInfo); // Add the information to the list view if (pInfo->bstrSource) m_ctlListSource.AddString(COLE2T(pInfo->bstrSource)); else m_ctlListSource.AddString(_T("Unspecified error.")); } } m_ctlListSource.SetCurSel(0); SelectSource(0); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CErrorsDialog::OnSelChange() { m_nSelectedItem = m_ctlListSource.GetCurSel(); SelectSource(m_nSelectedItem); }
//------------------------------------------------------------------------------------------------------------------------------------ // int main() { #if defined( _WIN32 ) char ModulePath[MAX_PATH]; #elif defined(__APPLE__) FSRef ModuleRef; #endif LPRefObj pRefMod = NULL, pRefSrc = NULL, RefItm = NULL, pRefDat = NULL; char buf[256]; ULONG ulModID = 0, ulSrcID = 0; UWORD wSel; BOOL bRet; // Search for a Module-file like "Type0010.md3". #if defined( _WIN32 ) bRet = Search_Module( ModulePath ); #elif defined(__APPLE__) bRet = Search_Module( &ModuleRef ); #endif if ( bRet == false ) { puts( "\"Type0010 Module\" is not found.\n" ); return -1; } // Load the Module-file. #if defined( _WIN32 ) bRet = Load_Module( ModulePath ); #elif defined(__APPLE__) bRet = Load_Module( &ModuleRef ); #endif if ( bRet == false ) { puts( "Failed in loading \"Type0010 Module\".\n" ); return -1; } // Allocate memory for reference to Module object. pRefMod = (LPRefObj)malloc(sizeof(RefObj)); if ( pRefMod == NULL ) { puts( "There is not enough memory." ); return -1; } InitRefObj( pRefMod ); // Allocate memory for Module object. pRefMod->pObject = (LPNkMAIDObject)malloc(sizeof(NkMAIDObject)); if ( pRefMod->pObject == NULL ) { puts( "There is not enough memory." ); if ( pRefMod != NULL ) free( pRefMod ); return -1; } // Open Module object pRefMod->pObject->refClient = (NKREF)pRefMod; bRet = Command_Open( NULL, // When Module_Object will be opend, "pParentObj" is "NULL". pRefMod->pObject, // Pointer to Module_Object ulModID ); // Module object ID set by Client if ( bRet == false ) { puts( "Module object can't be opened.\n" ); if ( pRefMod->pObject != NULL ) free( pRefMod->pObject ); if ( pRefMod != NULL ) free( pRefMod ); return -1; } // Enumerate Capabilities that the Module has. bRet = EnumCapabilities( pRefMod->pObject, &(pRefMod->ulCapCount), &(pRefMod->pCapArray), NULL, NULL ); if ( bRet == false ) { puts( "Failed in enumeration of capabilities." ); if ( pRefMod->pObject != NULL ) free( pRefMod->pObject ); if ( pRefMod != NULL ) free( pRefMod ); return -1; } // Set the callback functions(ProgressProc, EventProc and UIRequestProc). bRet = SetProc( pRefMod ); if ( bRet == false ) { puts( "Failed in setting a call back function." ); if ( pRefMod->pObject != NULL ) free( pRefMod->pObject ); if ( pRefMod != NULL ) free( pRefMod ); return -1; } // Set the kNkMAIDCapability_ModuleMode. if( CheckCapabilityOperation( pRefMod, kNkMAIDCapability_ModuleMode, kNkMAIDCapOperation_Set ) ){ bRet = Command_CapSet( pRefMod->pObject, kNkMAIDCapability_ModuleMode, kNkMAIDDataType_Unsigned, (NKPARAM)kNkMAIDModuleMode_Controller, NULL, NULL); if ( bRet == false ) { puts( "Failed in setting kNkMAIDCapability_ModuleMode." ); return -1; } } // Module Command Loop do { printf( "\nSelect (1-6, 0)\n" ); printf( " 1. Select Device 2. AsyncRate 3. IsAlive\n" ); printf( " 4. Name 5. ModuleType 6. Version\n" ); printf( " 0. Exit\n>" ); scanf( "%s", buf ); wSel = atoi( buf ); switch( wSel ) { case 1:// Children // Select Device ulSrcID = 0; // 0 means Device count is zero. bRet = SelectSource( pRefMod, &ulSrcID ); if ( bRet == false ) break; if( ulSrcID > 0 ) bRet = SourceCommandLoop( pRefMod, ulSrcID ); break; case 2:// AsyncRate bRet = SetUnsignedCapability( pRefMod, kNkMAIDCapability_AsyncRate ); break; case 3:// IsAlive bRet = SetBoolCapability( pRefMod, kNkMAIDCapability_IsAlive ); break; case 4:// Name bRet = SetStringCapability( pRefMod, kNkMAIDCapability_Name ); break; case 5:// ModuleType bRet = SetUnsignedCapability( pRefMod, kNkMAIDCapability_ModuleType ); break; case 6:// Version bRet = SetUnsignedCapability( pRefMod, kNkMAIDCapability_Version ); break; default: wSel = 0; } if ( bRet == false ) { printf( "An Error occured. Enter '0' to exit.\n>" ); scanf( "%s", buf ); bRet = true; } } while( wSel > 0 && bRet == true ); // Close Module_Object bRet = Close_Module( pRefMod ); if ( bRet == false ) puts( "Module object can not be closed.\n" ); // Unload Module #if defined( _WIN32 ) FreeLibrary( g_hInstModule ); g_hInstModule = NULL; #elif defined(__APPLE__) if (gBundle != NULL) { CFBundleUnloadExecutable(gBundle); CFRelease(gBundle); gBundle = NULL; } #endif // Free memory blocks allocated in this function. if ( pRefMod->pObject != NULL ) free( pRefMod->pObject ); if ( pRefMod != NULL ) free( pRefMod ); puts( "This sample program has terminated.\n" ); return 0; }
BOOL EVOpenDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 if(!SelectDefaultSource()) { MessageBox(_T("未检测到扫描仪!")); OnCancel(); return TRUE; } m_bTwainConfig = false; OnBnClickedButtonconfig(); if ( !m_bTwainConfig ) { int iReturn=MessageBox(_T("未检测到扫描仪或扫描仪扫描失败!\r\n是否手动选择扫描仪"),"注意",MB_YESNO|MB_DEFBUTTON2); if ( iReturn==IDNO ) { OnCancel(); return TRUE; } else { if(!SelectSource()) { MessageBox(_T("未检测到扫描仪!")); OnCancel(); return TRUE; } m_bTwainConfig = false; OnBnClickedButtonconfig(); if ( !m_bTwainConfig ) { MessageBox(_T("未检测到扫描仪或扫描仪扫描失败!")); OnCancel(); return TRUE; } } } CWnd *pWnd = GetDlgItem(IDC_NEWEDIT3); CRect rc; if(!pWnd) return TRUE; pWnd->GetWindowRect(rc); pWnd->DestroyWindow(); //pWnd was just a placeholder; ScreenToClient(rc); m_DateTime.Create(WS_CHILD|WS_VISIBLE|DTS_LONGDATEFORMAT,rc,this,IDC_NEWEDIT3); m_DateTime.SendMessage((UINT)DTM_SETSYSTEMTIME,GDT_NONE, NULL); CString caption = EVUtil::GetInstance().ODBCGetConfig(_T("select * from Config where 所属界面='扫描界面' and 类型='标题' ")); SetWindowText(caption); CString user = EVUtil::GetInstance().ODBCGetConfig(_T("select * from Config where 所属界面='扫描界面' and 类型='用户' ")); SetDlgItemText(IDC_NEWSTATICUSER,user); InitInfos(); SetDlgItemText(IDC_NEWEDIT1,""); CString szLJBH = EVUtil::GetInstance().ODBCGetConfig(_T("select * from Config where 所属界面='扫描界面' and 类型='零件编号' ")); SetDlgItemText(IDC_NEWEDIT2,szLJBH); SetDlgItemText(IDC_NEWEDIT3,""); INIT_EASYSIZE; int nCX = GetSystemMetrics(SM_CXSCREEN); int nCY = GetSystemMetrics(SM_CYSCREEN); nCY = nCY-40; nCY = MIN(nCY,nCX); CRect rtDlg; GetWindowRect(&rtDlg); SetWindowPos(NULL,(nCX-nCY)/2,0,nCY,nCY,SWP_NOZORDER);//*/ return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE }
bool QTwain::selectSource() { return (SelectSource() == true); } // !selectSource()
// main initializes the system and shows the picture. // Exit and clean up when you hit [RETURN]. int main(int argc, char **argv) { int n; char *progname = argv[0]; int NoDeviceEvent=0; saveterm(); init(&wscreen, &hscreen); rawterm(); if(argc>1) { NoDeviceEvent=atoi(argv[1]); printf("Device Event = %d\n",NoDeviceEvent); } if (openTouchScreen(NoDeviceEvent) == 1) perror("error opening touch screen"); int screenXmax, screenXmin; int screenYmax, screenYmin; getTouchScreenDetails(&screenXmin,&screenXmax,&screenYmin,&screenYmax); scaleXvalue = ((float)screenXmax-screenXmin) / wscreen; //printf ("X Scale Factor = %f\n", scaleXvalue); scaleYvalue = ((float)screenYmax-screenYmin) / hscreen; //printf ("Y Scale Factor = %f\n", scaleYvalue); int wbuttonsize=wscreen/5; int hbuttonsize=hscreen/5; int button=AddButton(0*wbuttonsize+20,0+hbuttonsize*0+20,wbuttonsize*0.9,hbuttonsize*0.9); color_t Col; Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"SR125",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"SR125",&Col); button=AddButton(1*wbuttonsize+20,hbuttonsize*0+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"SR250",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"SR250",&Col); button=AddButton(2*wbuttonsize+20,hbuttonsize*0+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"SR333",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"SR333",&Col); button=AddButton(3*wbuttonsize+20,hbuttonsize*0+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"SR500",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"SR500",&Col); button=AddButton(4*wbuttonsize+20,hbuttonsize*0+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"SR1000",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"SR1000",&Col); // FEC button=AddButton(0*wbuttonsize+20,hbuttonsize*1+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"FEC 1/2",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"FEC 1/2",&Col); button=AddButton(1*wbuttonsize+20,hbuttonsize*1+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"FEC 2/3",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"FEC 2/3",&Col); button=AddButton(2*wbuttonsize+20,hbuttonsize*1+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"FEC 3/4",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"FEC 3/4",&Col); button=AddButton(3*wbuttonsize+20,hbuttonsize*1+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"FEC 5/6",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"FEC 5/6",&Col); button=AddButton(4*wbuttonsize+20,hbuttonsize*1+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"FEC 7/8",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"FEC 7/8",&Col); //SOURCE button=AddButton(0*wbuttonsize+20,hbuttonsize*2+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"CAM MPEG2",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"CAM MPEG2",&Col); button=AddButton(1*wbuttonsize+20,hbuttonsize*2+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"CAM H264",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"CAM H264",&Col); char PictureName[255]; //strcpy(PictureName,ImageFolder); GetNextPicture(PictureName); button=AddButton(2*wbuttonsize+20,hbuttonsize*2+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"Patern",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,PictureName,&Col); button=AddButton(3*wbuttonsize+20,hbuttonsize*2+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"TS File",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"Video Name",&Col); button=AddButton(4*wbuttonsize+20,hbuttonsize*2+20,wbuttonsize*0.9,hbuttonsize*0.9); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"Carrier",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"Carrier",&Col); //TRANSMIT button=AddButton(0*wbuttonsize+20,hbuttonsize*3+20,wbuttonsize*1.2,hbuttonsize*1.2); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"TX ",&Col); Col.r=255;Col.g=0;Col.b=0; AddButtonStatus(button,"TX ON",&Col); button=AddButton(1*wbuttonsize*3+20,hbuttonsize*3+20,wbuttonsize*1.2,hbuttonsize*1.2); Col.r=0;Col.g=0;Col.b=128; AddButtonStatus(button,"RX ",&Col); Col.r=0;Col.g=128;Col.b=0; AddButtonStatus(button,"RX ON",&Col); Start(wscreen,hscreen); IsDisplayOn=1; char Param[]="symbolrate"; char Value[255]; GetConfigParam(PATH_CONFIG,Param,Value); SR=atoi(Value); switch(SR) { case 125:SelectSR(0);break; case 250:SelectSR(1);break; case 333:SelectSR(2);break; case 500:SelectSR(3);break; case 1000:SelectSR(4);break; } strcpy(Param,"fec"); strcpy(Value,""); GetConfigParam(PATH_CONFIG,Param,Value); printf("Value=%s %s\n",Value,"Fec"); fec=atoi(Value); switch(fec) { case 1:SelectFec(5);break; case 2:SelectFec(6);break; case 3:SelectFec(7);break; case 5:SelectFec(8);break; case 7:SelectFec(9);break; } strcpy(Param,"modeinput"); GetConfigParam(PATH_CONFIG,Param,Value); strcpy(ModeInput,Value); if(strcmp(Value,"CAMH264")==0) { SelectSource(11,1); } if(strcmp(Value,"CAMMPEG-2")==0) { SelectSource(10,1); } if(strcmp(Value,"PATERNAUDIO")==0) { SelectSource(12,1); } if(strcmp(Value,"CARRIER")==0) { SelectSource(13,1); } UpdateWindow(); // RESIZE JPEG TO BE DONE /*char PictureName[255]; strcpy(PictureName,ImageFolder); GetNextPicture(PictureName); Image(0,0,300,200,PictureName); End(); */ waituntil(wscreen,hscreen,0x1b); restoreterm(); finish(); return 0; }
// wait for a specific character void waituntil(int w,int h,int endchar) { int key; int rawX, rawY, rawPressure,i; int Toggle=0; for (;;) { //Start(w,h); if (getTouchSample(&rawX, &rawY, &rawPressure)==0) continue; printf("x=%d y=%d\n",rawX,rawY); if(IsDisplayOn==0) { printf("Display ON\n"); TransmitStop(); ReceiveStop(); init(&wscreen, &hscreen); Start(wscreen,hscreen); IsDisplayOn=1; SelectPTT(15,0); SelectPTT(16,0); UpdateWindow(); //usleep(500000); continue; } for(i=0;i<IndexButtonInArray;i++) { if(IsButtonPushed(i,rawX,rawY)==1) { printf("Button Event %d\n",i); if((i>=0)&&(i<=4)) //SR { SelectSR(i); } if((i>=5)&&(i<=9)) //FEC { SelectFec(i); } if((i>=10)&&(i<=14)) //Source { SelectSource(i,1); } if((i>=15)&&(i<=16)) //Source { printf("Status %d\n",GetButtonStatus(i)); if((i==15)&&(GetButtonStatus(i)==0)) { usleep(500000); SelectPTT(i,1); UpdateWindow(); TransmitStart(); break; } if((i==15)&&(GetButtonStatus(i)==1)) { TransmitStop(); usleep(500000); SelectPTT(i,0); UpdateWindow(); break; } if(i==16) { printf("DISPLAY OFF \n"); finish(); ReceiveStart(); IsDisplayOn=0; usleep(500000); } } if(IsDisplayOn==1) { UpdateWindow(); // DrawButton(i); // End(); } /*if((i==0)&&(GetButtonStatus(i)==0)) { printf("DISPLAY OFF \n"); finish(); IsDisplayOn=0; } if((i==0)&&(GetButtonStatus(i)==1)) { printf("DISPLAY ON \n"); init(&wscreen, &hscreen); Start(wscreen,hscreen); IsDisplayOn=1; UpdateWindow(); }*/ //FixMe : Add a Antibounce } } //circleCursor(scaledX,h-scaledY); // key = getchar(); // if (key == endchar || key == '\n') { // break; // } } }