📄 orchiddyn.pas
字号:
// LEUTRON VISION OrchidDyn.DLL - include file for Delphi 2.0 and higher
// This unit enables to load the Orchid DLL on demand. Before using any of the
// function the OrchidLoaded function must be called and its result checked for
// success. The OrchidLoaded function can be called multiple times; it loads
// Orchid only by its first call.
// Do not use this unit together with the Orchid.pas unit. The Orchid.pas unit
// is designed for static linkage of the Orchid DLL to your application.
// Note that Orchid itself has an internal implementation of load-on-demand DLLs.
unit OrchidDyn;
interface
uses Windows;
const
lvx_Task_Live = 0;
lvx_Task_Rt = 6;
lvx_Task_RtBasic = 1;
lvx_Task_RtFlash = 2;
lvx_Task_RtAsyncReset = 3;
lvx_Task_RtFrameInt = 4;
lvx_Task_RtFrameIntAsyncReset = 5;
lvx_Task_Preprocessor = 10;
lvx_Task_DirectX = 11;
lvx_Checkpoint_EndOfFrame = 0;
lvx_Checkpoint_EndOfSubsequence = 1;
lvx_Checkpoint_EndOfSequence = 2;
lvx_Flow_ContinueOnRequest = 0;
lvx_Flow_PauseOnRequest = 1;
lvx_LiveMode_Auto = 0;
lvx_LiveMode_HardwareForce = 1;
lvx_LiveMode_Software = 2;
lvx_LiveMode_HardwareAuto = 3;
// for backward compatibility
lvx_LiveMode_Hardware = 1;
lvx_ExtEv_Ignore = 0;
lvx_ExtEv_Immediate = 1;
lvx_ExtEv_SwControlled = 2;
lvx_FshMd_None = 0; // Flash Rt module
lvx_FshMd_FirstField = 1;
lvx_FshMd_BothField = 2;
lvx_FshMd_AR_CamTrigDelayed = 0; // AsyncReset Rt module
lvx_FshMd_AR_CamTrig = 1;
lvx_FshMd_AR_FlashDelayed = 2;
lvx_FldStart_Any = 0;
lvx_FldStart_Even = 1;
lvx_FldStart_Odd = 2;
lvx_FldAcq_2_Field = 0;
lvx_FldAcq_1_Field = 1;
lvx_FlowCheckDelay_0 = 0;
lvx_FlowCheckDelay_180 = 1;
lvx_FlowCheckDelay_320 = 2;
lvx_FlowCheckDelay_420 = 3;
lvx_FlowCheckDelay_610 = 4;
lvx_FlowCheckDelay_3800 = 5;
lvx_FlowCheckDelay_7500 = 6;
lvx_AviFrame_RealTimeStamp = 1;
lvx_TiffConvertMonoTo16bit = 1;
lvx_GrabNotify_WinMsg = 1;
lvx_GrabNotify_WinObject = 2;
lvx_GrabNotify_Function = 3;
lvx_TimeoutNotify_WinMsg = 10;
lvx_TimeoutNotify_WinObject = 11;
lvx_TimeoutNotify_Function = 12;
lvx_Status_EepromOemNotInitialized = 65537;
lvx_Status_EepromGrabberNotActive = 65538;
lvx_Status_EepromHwError = 65539;
lvx_Status_EepromUnknownError = 65540;
lvx_Status_EepromDoesNotMatch = 65541;
lvx_TextAttr_Bold = $0001; // for lvx_SetOverlayTextParams
lvx_TextAttr_Italic = $0002;
lvx_TextAttr_Underline = $0004;
lvx_TextAttr_StrikeOut = $0008;
lvx_TextAttr_Shadow = $0100; // default shadow is right-bottom
lvx_TextAttr_Outline = $FF00;
lvx_TextAttr_ShadowRB = $0100; // right-bottom
lvx_TextAttr_ShadowRT = $0200; // right-top
lvx_TextAttr_ShadowLB = $0400; // left-bottom
lvx_TextAttr_ShadowLT = $0800; // left-top
lvx_TextAttr_ShadowB = $1000; // bottom
lvx_TextAttr_ShadowT = $2000; // top
lvx_TextAttr_ShadowR = $4000; // right
lvx_TextAttr_ShadowL = $8000; // left
lvx_Color_None = $FFFFFFFF; // for disabling transparent color
lvx_Color_Black = $00000000;
lvx_Color_Maroon = $00000080;
lvx_Color_Green = $00008000;
lvx_Color_Olive = $00008080;
lvx_Color_Navy = $00800000;
lvx_Color_Purple = $00800080;
lvx_Color_Teal = $00808000;
lvx_Color_Gray = $00808080;
lvx_Color_Silver = $00C0C0C0;
lvx_Color_Red = $000000FF;
lvx_Color_Lime = $0000FF00;
lvx_Color_Yellow = $0000FFFF;
lvx_Color_Blue = $00FF0000;
lvx_Color_Fuchsia = $00FF00FF;
lvx_Color_Aqua = $00FFFF00;
lvx_Color_LtGray = $00C0C0C0;
lvx_Color_DkGray = $00808080;
lvx_Color_White = $00FFFFFF;
lvx_CameraGain_Analog = $00000001;
lvx_CameraGain_Digital = $00000002;
lvx_Cmd_GetAcquiredInfoWidth = $00010001;
lvx_Cmd_GetAcquiredInfoHeight = $00010002;
lvx_Cmd_GetAcquiredInfoFlags = $00010003;
lvx_Cmd_SetLutMono8Bit = $00020001;
lvx_Cmd_SetLutMono10Bit = $00020002;
lvx_Cmd_SetLutMono12Bit = $00020003;
lvx_Cmd_SetLutRgb8Bit = $00020004;
lvx_Cmd_GetLutMono8Bit = $00020011;
lvx_Cmd_GetLutMono10Bit = $00020012;
lvx_Cmd_GetLutMono12Bit = $00020013;
lvx_Cmd_GetLutRgb8Bit = $00020014;
lvx_Cmd_IsCameraConnected = $00030001;
lvx_Cmd_UtilSetFrameTimeLog = $01000001;
lvx_Cmd_UtilGetFrameTime = $01000002;
lvx_Cmd_GetPixelValue = $00040001;
type
ThLvxTask = DWORD;
var
// DLLs Loading
lvx_SetLoadWindowEnable : procedure(bEnable: LongBool); stdcall;
lvx_GetLoadWindowEnable : function : LongBool; stdcall;
lvx_LoadDlls : procedure; stdcall;
lvx_GetVersion : function : integer; stdcall;
// Error Handling
lvx_GetLastStatus : function : integer; stdcall;
lvx_GetLastStatusShortMsg : procedure(pszMsg: PAnsiChar; iMaxLen: integer); stdcall;
lvx_GetLastStatusLongMsg : procedure(pszMsg: PAnsiChar; iMaxLen: integer); stdcall;
// Task opening, closing
lvx_OpenTask : function (iTaskType: integer): ThLvxTask; stdcall;
lvx_CloseTask : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_GetTaskStatus : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetTaskStatusShortMsg : procedure(hLvxTask: ThLvxTask; pszMsg: PAnsiChar; iMaxLen: integer); stdcall;
lvx_GetTaskStatusLongMsg : procedure(hLvxTask: ThLvxTask; pszMsg: PAnsiChar; iMaxLen: integer); stdcall;
// Initial settings
lvx_SetGrabber : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
lvx_GetGrabber : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
lvx_SetGrabberNumber : procedure(hLvxTask: ThLvxTask; iNumber: integer); stdcall;
lvx_GetGrabberNumber : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetCamera : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
lvx_GetCamera : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
lvx_SetBaseCamera : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
lvx_GetBaseCamera : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
lvx_SetConnector : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
lvx_GetConnector : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
lvx_SetConnectorList : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
lvx_GetConnectorList : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
lvx_ClearConnectorList : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_AddConnectorToList : procedure(hLvxTask: ThLvxTask; pszConnectorName: PAnsiChar; pszGrabberName: PAnsiChar; iGrabberNumber: integer); stdcall;
lvx_SetShutter : procedure(hLvxTask: ThLvxTask; pszName: PAnsiChar); stdcall;
lvx_GetShutter : procedure(hLvxTask: ThLvxTask; pszName: PAnsiChar; iMaxLen: integer); stdcall;
lvx_SetBoardsExtSync : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
lvx_GetBoardsExtSync : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetSubsequences : procedure(hLvxTask: ThLvxTask; iSubsequences: integer); stdcall;
lvx_GetSubsequences : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetCheckpoints : procedure(hLvxTask: ThLvxTask; iCheckpoints: integer); stdcall;
lvx_GetCheckpoints : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetFlowMode : procedure(hLvxTask: ThLvxTask; iFlowMode: integer); stdcall;
lvx_GetFlowMode : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetAsynchronousGrab : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
lvx_GetAsynchronousGrab : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetRandomCameraSwitch : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
lvx_GetRandomCameraSwitch : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetParallelGrab : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
lvx_GetParallelGrab : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetImageBitsPerPixel : procedure(hLvxTask: ThLvxTask; iBitsPerPixel: integer); stdcall;
lvx_GetImageBitsPerPixel : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetImageWidth : procedure(hLvxTask: ThLvxTask; iWidth: integer); stdcall;
lvx_SetImageHeight : procedure(hLvxTask: ThLvxTask; iHeight: integer); stdcall;
lvx_GetImageWidth : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_GetImageHeight : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetScaling : procedure(hLvxTask: ThLvxTask; bScaling: LongBool); stdcall;
lvx_GetScaling : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetHorizontalMirror : procedure(hLvxTask: ThLvxTask; bMirror: LongBool); stdcall;
lvx_GetHorizontalMirror : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetVerticalMirror : procedure(hLvxTask: ThLvxTask; bMirror: LongBool); stdcall;
lvx_GetVerticalMirror : function (hLvxTask: ThLvxTask): LongBool; stdcall;
// Initializing, grabbing
lvx_Initialize : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_GetActive : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetLive : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
lvx_GetLive : function (hLvxTask: ThLvxTask): LongBool; stdcall;
lvx_SetLiveMode : procedure(hLvxTask: ThLvxTask; iLiveMode: integer); stdcall;
lvx_GetLiveMode : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_MakeSnap : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_GrabContinue : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_GrabPause : procedure(hLvxTask: ThLvxTask); stdcall;
lvx_SwitchToCamera : procedure(hLvxTask: ThLvxTask; iCamera: integer); stdcall;
// Runtime parameters
lvx_SetBrightness : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
lvx_GetBrightness : function (hLvxTask: ThLvxTask): integer; stdcall;
lvx_SetContrast : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -