📄 adexcept.pas
字号:
(***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is TurboPower Async Professional
*
* The Initial Developer of the Original Code is
* TurboPower Software
*
* Portions created by the Initial Developer are Copyright (C) 1991-2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* ***** END LICENSE BLOCK ***** *)
{*********************************************************}
{* ADEXCEPT.PAS 4.06 *}
{*********************************************************}
{Global defines potentially affecting this unit}
{$I AWDEFINE.INC}
{Options required for this unit}
{$G+,X+,F-,V-,P-,T-,B-}
unit AdExcept;
{-Apro exceptions}
interface
uses
Messages,
WinTypes,
WinProcs,
SysUtils,
Classes,
{$IFNDEF UseResourceStrings}
AdSrmgr,
{$ENDIF}
OoMisc;
{ The design of the string resources has changed for APRO 4.04. We no longer }
{ use the string resource manager (AdSrmgr.pas), we now use resourcestrings. }
{ To use a different language, specify the language below. Only select one }
{ language when compiling. Selecting multiple languages will result in }
{ duplicate identifiers. If you need to support multiple langauages, use the }
{ separate string resource units to create your own language DLLs or other }
{ techniques. See the comments in the applicable language include file for }
{ more details (in English). }
{Select English by default, only one can be enabled at any given time }
{*** English ***}
{$I AdExcept.inc}
{*** French ***}
{.$I AdExcept.fra}
{*** German ***}
{.$I AdExcept.deu}
{*** Spanish ***}
{.$I AdExcept.esp}
{*** Swedish ***}
{.$I AdExcept.sw}
{*** Norwegian ***}
{.$I AdExcept.nor}
{*** Danish ***}
{.$I AdExcept.dk}
type
{General Apro exception class}
EAPDException = class(Exception)
private
FErrorCode : Integer;
public
constructor Create(const EC : Integer; PassThru : Boolean);
constructor CreateUnknown(const Msg : String; Dummy : Byte);
class function MapCodeToStringID(const Code : Integer) : Word;
{-Return a string table index for Code}
property ErrorCode : Integer
read FErrorCode write FErrorCode;
end;
{Apro exception groups}
EGeneral = class(EAPDException);
EOpenComm = class(EAPDException);
ESerialIO = class(EAPDException);
EModem = class(EAPDException);
ETrigger = class(EAPDException);
EPacket = class(EAPDException);
EProtocol = class(EAPDException);
EINI = class(EAPDException);
EFax = class(EAPDException);
ETapi = class(EAPDException);
ERas = class(EAPDException);
EAdTerminal = class(EAPDException);
EXML = class(EAPDException);
EStateMachine = class(EAPDException);
{Specific general exceptions}
EBadArgument = class(EGeneral);
EGotQuitMsg = class(EGeneral);
EBufferTooBig = class(EGeneral);
EPortNotAssigned = class(EGeneral);
EInternal = class(EGeneral);
EModemNotAssigned = class(EGeneral);
EPhonebookNotAssigned = class(EGeneral);
ECannotUseWithWinSock = class(EGeneral);
{Specific OpenComm exceptions}
EBadId = class(EOpenComm);
EBaudRate = class(EOpenComm);
EByteSize = class(EOpenComm);
EDefault = class(EOpenComm);
EHardware = class(EOpenComm);
EMemory = class(EOpenComm);
ECommNotOpen = class(EOpenComm);
EAlreadyOpen = class(EOpenComm);
ENoHandles = class(EOpenComm);
ENoTimers = class(EOpenComm);
ENoPortSelected = class(EOpenComm);
ENotOpenedByTapi = class(EOpenComm);
{Specific serial I/O exceptions}
ENullApi = class(ESerialIO);
ERegisterHandlerFailed= class(ESerialIO);
EPutBlockFail = class(ESerialIO);
EGetBlockFail = class(ESerialIO);
EOutputBufferTooSmall = class(ESerialIO);
EBufferIsEmpty = class(ESerialIO);
ETracingNotEnabled = class(ESerialIO);
ELoggingNotEnabled = class(ESerialIO);
EBaseAddressNotSet = class(ESerialIO);
{Specific modem exceptions}
EModemNotStarted = class(EModem);
EModemBusy = class(EModem);
EModemNotDialing = class(EModem);
EModemNotResponding = class(EModem);
EModemRejectedCommand = class(EModem);
EModemStatusMismatch = class(EModem);
{Specific dialer exceptions}
EAlreadyDialing = class(EModem);
ENotDialing = class(EModem);
EDeviceNotSelected = class(EModem);
EModemDetectedBusy = class(EModem);
ENoDialtone = class(EModem);
ENoCarrier = class(EModem);
ENoAnswer = class(EModem);
{Specific trigger exceptions}
ENoMoreTriggers = class(ETrigger);
ETriggerTooLong = class(ETrigger);
EBadTriggerHandle = class(ETrigger);
{Specific packet exceptions}
EInvalidProperty = class(EPacket);
EStringSizeError = class(EPacket);
{Specific protocol exceptions}
ETimeout = class(EProtocol);
ETooManyErrors = class(EProtocol);
ESequenceError = class(EProtocol);
{Specific INI database exceptions}
EKeyTooLong = class(EINI);
EDataTooLarge = class(EINI);
EIniWrite = class(EINI);
EIniRead = class(EINI);
ERecordExists = class(EINI);
ERecordNotFound = class(EINI);
EDatabaseFull = class(EINI);
EDatabaseEmpty = class(EINI);
EBadFieldList = class(EINI);
EBadFieldForIndex = class(EINI);
{.Z+}
{Specific FAX exceptions}
EFaxBadFormat = class(EFax);
EBadGraphicsFormat = class(EFax);
EConvertAbort = class(EFax);
EUnpackAbort = class(EFax);
ECantMakeBitmap = class(EFax);
ENoImageLoaded = class(EFax);
ENoImageBlockMarked = class(EFax);
EInvalidPageNumber = class(EFax);
EFaxBadMachine = class(EFax);
EFaxBadModemResult = class(EFax);
EFaxTrainError = class(EFax);
EFaxInitError = class(EFax);
EFaxBusy = class(EFax);
EFaxVoiceCall = class(EFax);
EFaxDataCall = class(EFax);
EFaxNoDialTone = class(EFax);
EFaxNoCarrier = class(EFax);
EFaxSessionError = class(EFax);
EFaxPageError = class(EFax);
EAlreadyMonitored = class(EFax);
ETapiAllocated = class(ETapi);
ETapiBadDeviceID = class(ETapi);
ETapiBearerModeUnavail = class(ETapi);
ETapiCallUnavail = class(ETapi);
ETapiCompletionOverrun = class(ETapi);
ETapiConferenceFull = class(ETapi);
ETapiDialBilling = class(ETapi);
ETapiDialDialtone = class(ETapi);
ETapiDialPrompt = class(ETapi);
ETapiDialQuiet = class(ETapi);
ETapiIncompatibleApiVersion = class(ETapi);
ETapiIncompatibleExtVersion = class(ETapi);
ETapiIniFileCorrupt = class(ETapi);
ETapiInUse = class(ETapi);
ETapiInvalAddress = class(ETapi);
ETapiInvalAddressID = class(ETapi);
ETapiInvalAddressMode = class(ETapi);
ETapiInvalAddressState = class(ETapi);
ETapiInvalAppHandle = class(ETapi);
ETapiInvalAppName = class(ETapi);
ETapiInvalBearerMode = class(ETapi);
ETapiInvalCallComplMode = class(ETapi);
ETapiInvalCallHandle = class(ETapi);
ETapiInvalCallParams = class(ETapi);
ETapiInvalCallPrivilege = class(ETapi);
ETapiInvalCallSelect = class(ETapi);
ETapiInvalCallState = class(ETapi);
ETapiInvalCallStatelist = class(ETapi);
ETapiInvalCard = class(ETapi);
ETapiInvalCompletionID = class(ETapi);
ETapiInvalConfCallHandle = class(ETapi);
ETapiInvalConsultCallHandle = class(ETapi);
ETapiInvalCountryCode = class(ETapi);
ETapiInvalDeviceClass = class(ETapi);
ETapiInvalDeviceHandle = class(ETapi);
ETapiInvalDialParams = class(ETapi);
ETapiInvalDigitList = class(ETapi);
ETapiInvalDigitMode = class(ETapi);
ETapiInvalDigits = class(ETapi);
ETapiInvalExtVersion = class(ETapi);
ETapiInvalGroupID = class(ETapi);
ETapiInvalLineHandle = class(ETapi);
ETapiInvalLineState = class(ETapi);
ETapiInvalLocation = class(ETapi);
ETapiInvalMediaList = class(ETapi);
ETapiInvalMediaMode = class(ETapi);
ETapiInvalMessageID = class(ETapi);
ETapiInvalParam = class(ETapi);
ETapiInvalParkID = class(ETapi);
ETapiInvalParkMode = class(ETapi);
ETapiInvalPointer = class(ETapi);
ETapiInvalPrivSelect = class(ETapi);
ETapiInvalRate = class(ETapi);
ETapiInvalRequestMode = class(ETapi);
ETapiInvalTerminalID = class(ETapi);
ETapiInvalTerminalMode = class(ETapi);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -