Units | Class Hierarchy | Classes, Interfaces and Objects | Types | Variables | Constants | Functions and Procedures | Identifiers

# Class TIFPSExternalClass

## Unit

ifpscomp

## Declaration

`type TIFPSExternalClass = class(TObject)`

## Description

TIFPSExternalClass is used when external classes need to be called, External classes are virtual objects that could be anything when compiled, from integers to actual delphi classes

## Fields

| Name | Description
--- | --- | ---
| `FTypeNo` |
| `SE` |

## Methods

### Overview

| `constructor Create(Se: TIFPSPascalCompiler; TypeNo: Cardinal);`
| `function CastToType(IntoType: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`
| `function CastToTypeAS(IntoType: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`
| `function CastToTypeIS(IntoType: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`
| `function ClassFunc_Call(Index: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`
| `function ClassFunc_Find(const Name: string; var Index: Cardinal): Boolean; virtual;`
| `function CompareClass(OtherTypeNo: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`
| `function Func_Call(Index: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`
| `function Func_Find(const Name: string; var Index: Cardinal): Boolean; virtual;`
| `function IsCompatibleWith(Cl: TIFPSExternalClass): Boolean; virtual;`
| `function Property_Find(const Name: string; var Index: Cardinal): Boolean; virtual;`
| `function Property_Get(Index: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`
| `function Property_GetHeader(Index: Cardinal; var s: string): Boolean; virtual;`
| `function Property_Set(Index: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`
| `function SelfType: Cardinal; virtual;`
| `function SetNil(var ProcNo: Cardinal): Boolean; virtual;`

### Description

| `constructor Create(Se: TIFPSPascalCompiler; TypeNo: Cardinal);`

Create

| `function CastToType(IntoType: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`

Return the procno for casting

| `function CastToTypeAS(IntoType: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`

Return the procno for AS casting

| `function CastToTypeIS(IntoType: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`

Return the procno for is casting

| `function ClassFunc_Call(Index: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`

Call a class function

| `function ClassFunc_Find(const Name: string; var Index: Cardinal): Boolean; virtual;`

Find a class function

| `function CompareClass(OtherTypeNo: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`

Return the procno for comparing two classes

| `function Func_Call(Index: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`

Call a function

| `function Func_Find(const Name: string; var Index: Cardinal): Boolean; virtual;`

Find a function

| `function IsCompatibleWith(Cl: TIFPSExternalClass): Boolean; virtual;`

Check if the class is compatible

| `function Property_Find(const Name: string; var Index: Cardinal): Boolean; virtual;`

Find a variant

| `function Property_Get(Index: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`

Get a variant value

| `function Property_GetHeader(Index: Cardinal; var s: string): Boolean; virtual;`

Return the header of an variant

| `function Property_Set(Index: Cardinal; var ProcNo: Cardinal): Boolean; virtual;`

Set a variant value

| `function SelfType: Cardinal; virtual;`

The type used as a class

| `function SetNil(var ProcNo: Cardinal): Boolean; virtual;`

Returns the ProcNo for setting a class variable to nil