⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adexcept.pas

📁 测试用例
💻 PAS
📖 第 1 页 / 共 3 页
字号:
(***** 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 + -