www.pudn.com > mitab-1.5.1.zip > mitab_dyn.pas
{**********************************************************************
* $Id: mitab_dyn.pas,v 1.9 2006/07/25 13:24:47 dmorissette Exp $
*
* Name: mitab.pas
* Project: MapInfo TAB Read/Write library
* Language: Pascal
* Purpose: Pascal interface unit for MITAB API prototypes using STDCALL
* calling convention. Used with MITAB dll compiled with
* the /Gz qualifier.
* Author: Bo Thomsen, bvt@sns.dk
*
**********************************************************************
* Copyright (c) 2002, Bo Thomsen
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
**********************************************************************
*
* $Log: mitab_dyn.pas,v $
* Revision 1.9 2006/07/25 13:24:47 dmorissette
* Updated for 1.5.1 release
*
* Revision 1.8 2006/02/16 15:13:38 dmorissette
* Updated for 1.5.0 release
*
* Revision 1.7 2005/03/24 17:21:05 dmorissette
* Updated Libversion to 1004000 for 1.4.0 release
*
* Revision 1.6 2004/07/05 18:45:24 dmorissette
* Added mitab_c_load_coordsys_table defn (Uffe K.)
*
* Revision 1.5 2004/06/30 20:18:53 dmorissette
* Update from Uffe K. for V1.3.0 release
*
* Revision 1.4 2003/08/07 03:24:30 dmorissette
* Added function for checking of version of library (Uffe K. - bug 21)
*
* Revision 1.25 2003/08/06 22:50:00 uffe
* Added function for checking of version of library
*
* Revision 1.24 2003/07/25 9:45:00 uffe
* Updated to version 1.2.4 (mitab_c_add_field, now with correct function name)
*
* Revision 1.1 2002/08/01 13:56:01 daniel
* Contributed by Uffe K. - header for dynamic loading of mitab.dll in Delphi
*
* Revision 1.22 2002/07/07 11:20:00 uffe
* Updated to version 1.22 (mitab_c_is_interior_ring)
*
* Revision 1.21 2002/05/09 9:36:00 uffe
* Changed to allow dynamic loading of DLL
* Added subrange type definitions for constants
*
* Revision 1.21 2002/05/08 20:23:53 daniel
* Update from Bo, and re-re-renamed mitab_vb.dll to mitab.dll (stdcall is default now)
*
* Revision 1.21 2002/05/07 13:43:30 bvt
* changed the dll name to mitab_vb.dll. Changed the pas file name
* to mitab_vb.pas to reflect the new name of the dll.
*
* Revision 1.2 2002/05/05 13:43:30 bvt
* Added mitab_c_get_field_width and mitab_c_get_field_precision to api.
*
* Revision 1.1 2002/02/22 13:43:30 daniel
* Initial Revision from Bo Thomsen
*
* Revision 1.00 2002/02/20 12:35:00 bvt
* New - used in conjunction with mitab_capi.cpp,v 1.15 compiled with
* /Gz (stdcall calling convention)
*
*}
unit mitab_dyn;
interface
// This define is missing in D5 and before
{$IFDEF VER130}
{$DEFINE MSWINDOWS}
{$ENDIF}
Type
mitab_handle = Longword;
mitab_feature = Longword;
mitab_projinfo = Longword;
TABFC = 0..10;
TABFT = 1..7;
TABTJ = 0..2;
TABTS = 0..2;
TABTL = 0..2;
TadProjParams = array [1..6] of double;
TadDatumParams = array [1..5] of double;
TadAffineParams = array [1..6] of double;
const
// update to match mitab.h (app. line 97), when new versions are released
Libversion = 1005001;
// feature type values
TABFC_NoGeom = 0;
TABFC_Point = 1;
TABFC_FontPoint = 2;
TABFC_CustomPoint = 3;
TABFC_Text = 4;
TABFC_Polyline = 5;
TABFC_Arc = 6;
TABFC_Region = 7;
TABFC_Rectangle = 8;
TABFC_Ellipse = 9;
TABFC_Multipoint = 10 ; //1.2.0
// field types
TABFT_Char = 1;
TABFT_Integer = 2;
TABFT_SmallInt = 3;
TABFT_Decimal = 4;
TABFT_Float = 5;
TABFT_Date = 6;
TABFT_Logical = 7;
// text justification
TABTJ_Left = 0;
TABTJ_Center = 1;
TABTJ_Right = 2;
// text spacing
TABTS_Single = 0;
TABTS_1_5 = 1;
TABTS_Double = 2;
// test linetype
TABTL_NoLine = 0;
TABTL_Simple = 1;
TABTL_Arrow = 2;
type
Tmitab_c_add_field = function(handle: mitab_handle; field_name: pchar; field_type, width, precision, indexed, unique: longint): longint; stdcall;
Tmitab_c_close = procedure(handle: mitab_handle); stdcall;
Tmitab_c_create = function(filename, mif_or_tab, mif_projectiondef: pchar; north, south, east, west: double): mitab_handle; stdcall;
Tmitab_c_create_feature = function(handle: mitab_handle; feature_type: longint): mitab_feature; stdcall;
Tmitab_c_destroy_feature = procedure(feature: mitab_feature); stdcall;
Tmitab_c_getlasterrormsg = function(): pchar; stdcall;
Tmitab_c_getlasterrormsg_vb = function(errormsg: pchar; l: longint): longint; stdcall;
Tmitab_c_getlasterrorno = function(): longint; stdcall;
Tmitab_c_getlibversion = function(): longint; stdcall;
Tmitab_c_get_brush_bgcolor = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_brush_fgcolor = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_brush_pattern = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_brush_transparent = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_extended_mif_coordsys = function(dataset: mitab_handle): pchar; stdcall;
Tmitab_c_get_feature_count = function(feature: mitab_handle): longint; stdcall;
Tmitab_c_get_field_as_double = function(feature: mitab_feature; field: longint): double; stdcall;
Tmitab_c_get_field_as_string = function(feature: mitab_feature; field: longint): pchar; stdcall;
Tmitab_c_get_field_as_string_vb = function(feature: mitab_feature; field: longint; value: pchar; l: longint): longint; stdcall;
Tmitab_c_get_field_count = function(handle: mitab_handle): longint; stdcall;
Tmitab_c_get_field_name = function(handle: mitab_handle; field: longint): pchar; stdcall;
Tmitab_c_get_field_name_vb = function(handle: mitab_handle; field: longint; name: pchar; l: longint): longint; stdcall;
Tmitab_c_get_field_precision = function(handle: mitab_handle; field: longint): longint; stdcall;
Tmitab_c_get_field_type = function(handle: mitab_handle; field: longint): longint; stdcall;
Tmitab_c_get_field_width = function(handle: mitab_handle; field: longint): longint; stdcall;
Tmitab_c_get_font = function(feature: mitab_feature): pchar; stdcall;
Tmitab_c_get_font_vb = function(feature: mitab_feature; font: pchar; l: longint): longint; stdcall;
Tmitab_c_get_mif_coordsys = function(dataset: mitab_handle): pchar; stdcall;
Tmitab_c_get_mif_coordsys_vb = function(dataset: mitab_handle; coordsys: pchar; l: longint): longint; stdcall;
Tmitab_c_get_parts = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_pen_color = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_pen_pattern = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_pen_width = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_projinfo = function(dataset: mitab_handle): mitab_projinfo; stdcall;
Tmitab_c_get_symbol_color = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_symbol_no = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_symbol_size = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_text = function(feature: mitab_feature): pchar; stdcall;
Tmitab_c_get_text_angle = function(feature: mitab_feature): double; stdcall;
Tmitab_c_get_text_bgcolor = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_text_fgcolor = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_text_height = function(feature: mitab_feature): double; stdcall;
Tmitab_c_get_text_justification = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_text_linetype = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_text_spacing = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_text_vb = function(feature: mitab_feature; text: pchar; l: longint): longint; stdcall;
Tmitab_c_get_text_width = function(feature: mitab_feature): double; stdcall;
Tmitab_c_get_type = function(feature: mitab_feature): longint; stdcall;
Tmitab_c_get_vertex_count = function(feature: mitab_feature; part: longint): longint; stdcall;
Tmitab_c_get_vertex_x = function(feature: mitab_feature; part, vertex: longint): double; stdcall;
Tmitab_c_get_vertex_y = function(feature: mitab_feature; part, vertex: longint): double; stdcall;
Tmitab_c_is_interior_ring = function(feature: mitab_feature; requestedringindex: longint): longint; stdcall;
Tmitab_c_load_coordsys_table = function(filename: pchar): longint; stdcall;
Tmitab_c_next_feature_id = function(handle: mitab_handle; last_feature_id: longint): longint; stdcall;
Tmitab_c_open = function(filename: pchar): mitab_handle; stdcall;
Tmitab_c_read_feature = function(handle: mitab_handle; feature_id: longint): mitab_feature; stdcall;
Tmitab_c_set_arc = procedure(feature: mitab_feature; center_x, center_y, x_radius, y_radius, start_angle, end_angle: double); stdcall;
Tmitab_c_set_brush = procedure(feature: mitab_feature; fg_color, bg_color, pattern, transparent: longint); stdcall;
Tmitab_c_set_field = procedure(feature: mitab_feature; field_index: longint; value: pchar); stdcall;
Tmitab_c_set_font = procedure(feature: mitab_feature; font_name: pchar); stdcall;
Tmitab_c_set_pen = procedure(feature: mitab_feature; width, pattern, color: longint); stdcall;
Tmitab_c_set_points = procedure(feature: mitab_feature; part, vertex_count: longint; var x,y: double); stdcall;
Tmitab_c_set_projinfo = function(dataset: mitab_handle; projinfo: mitab_projinfo): longint; stdcall;
Tmitab_c_set_symbol = procedure(feature: mitab_feature; symbol_no, symbol_size, symbol_color: longint); stdcall;
Tmitab_c_set_text = procedure(feature: mitab_feature; text: pchar); stdcall;
Tmitab_c_set_text_display = procedure(feature: mitab_feature; angle, height, width: double; fg_color, bg_color, justification, spacing, linetype: longint); stdcall;
Tmitab_c_write_feature = function(handle: mitab_handle; feature: mitab_feature): longint; stdcall;
Tmitab_c_get_collection_region_ref = function(feature: mitab_feature): mitab_feature; stdcall;
Tmitab_c_get_collection_polyline_ref = function(feature: mitab_feature): mitab_feature; stdcall;
Tmitab_c_get_collection_multipoint_ref = function(feature: mitab_feature): mitab_feature; stdcall;
Tmitab_c_set_collection_region = function(feature,region: mitab_feature; make_copy: integer): longint; stdcall;
Tmitab_c_set_collection_polyline = function(feature,polyline: mitab_feature; make_copy: integer): longint; stdcall;
Tmitab_c_set_collection_multipoint = function(feature,multipoint: mitab_feature; make_copy: integer): longint; stdcall;
Tmitab_c_get_projection_info = procedure(projInfo: mitab_projinfo; var nProjId,nEllipsoidId,nUnitsId: longint; var adProjParams: TadProjParams); stdcall;
Tmitab_c_set_projection_info = procedure(projInfo: mitab_projinfo; nProjId,nEllipsoidId,nUnitsId: longint; var adProjParams: TadProjParams); stdcall;
Tmitab_c_get_datum_info = procedure(projInfo: mitab_projinfo; var dDatumShiftX,dDatumShiftY,dDatumShiftZ: double; var adDatumParams: TadDatumParams); stdcall;
Tmitab_c_set_datum_info = procedure(projInfo: mitab_projinfo; dDatumShiftX,dDatumShiftY,dDatumShiftZ: double; var adDatumParams: TadDatumParams); stdcall;
Tmitab_c_get_affine_params = function(projInfo: mitab_projinfo; var nAffineUnits: longint; var adAffineParams: TadAffineParams): longint; stdcall;
Tmitab_c_set_affine_params = function(projInfo: mitab_projinfo; nAffineUnits: longint; var adAffineParams: TadAffineParams): longint; stdcall;
var
MITAB_LibOK: boolean; // false if DLL isn't loaded, true if loaded OK and correct version
LibPath: string; // Full path to the MITAB DLL, default value is just 'mitab.dll'
mitab_c_add_field: Tmitab_c_add_field;
mitab_c_close: Tmitab_c_close;
mitab_c_create: Tmitab_c_create;
mitab_c_create_feature: Tmitab_c_create_feature;
mitab_c_destroy_feature: Tmitab_c_destroy_feature;
mitab_c_getlasterrormsg: Tmitab_c_getlasterrormsg;
mitab_c_getlasterrormsg_vb: Tmitab_c_getlasterrormsg_vb;
mitab_c_getlasterrorno: Tmitab_c_getlasterrorno;
mitab_c_getlibversion: Tmitab_c_getlibversion;
mitab_c_get_brush_bgcolor: Tmitab_c_get_brush_bgcolor;
mitab_c_get_brush_fgcolor: Tmitab_c_get_brush_fgcolor;
mitab_c_get_brush_pattern: Tmitab_c_get_brush_pattern;
mitab_c_get_brush_transparent: Tmitab_c_get_brush_transparent;
mitab_c_get_extended_mif_coordsys: Tmitab_c_get_extended_mif_coordsys;
mitab_c_get_feature_count: Tmitab_c_get_feature_count;
mitab_c_get_field_as_double: Tmitab_c_get_field_as_double;
mitab_c_get_field_as_string: Tmitab_c_get_field_as_string;
mitab_c_get_field_as_string_vb: Tmitab_c_get_field_as_string_vb;
mitab_c_get_field_count: Tmitab_c_get_field_count;
mitab_c_get_field_name: Tmitab_c_get_field_name;
mitab_c_get_field_name_vb: Tmitab_c_get_field_name_vb;
mitab_c_get_field_precision: Tmitab_c_get_field_precision;
mitab_c_get_field_type: Tmitab_c_get_field_type;
mitab_c_get_field_width: Tmitab_c_get_field_width;
mitab_c_get_font: Tmitab_c_get_font;
mitab_c_get_font_vb: Tmitab_c_get_font_vb;
mitab_c_get_mif_coordsys: Tmitab_c_get_mif_coordsys;
mitab_c_get_mif_coordsys_vb: Tmitab_c_get_mif_coordsys_vb;
mitab_c_get_parts: Tmitab_c_get_parts;
mitab_c_get_pen_color: Tmitab_c_get_pen_color;
mitab_c_get_pen_pattern: Tmitab_c_get_pen_pattern;
mitab_c_get_pen_width: Tmitab_c_get_pen_width;
mitab_c_get_projinfo: Tmitab_c_get_projinfo;
mitab_c_get_symbol_color: Tmitab_c_get_symbol_color;
mitab_c_get_symbol_no: Tmitab_c_get_symbol_no;
mitab_c_get_symbol_size: Tmitab_c_get_symbol_size;
mitab_c_get_text: Tmitab_c_get_text;
mitab_c_get_text_angle: Tmitab_c_get_text_angle;
mitab_c_get_text_bgcolor: Tmitab_c_get_text_bgcolor;
mitab_c_get_text_fgcolor: Tmitab_c_get_text_fgcolor;
mitab_c_get_text_height: Tmitab_c_get_text_height;
mitab_c_get_text_justification: Tmitab_c_get_text_justification;
mitab_c_get_text_linetype: Tmitab_c_get_text_linetype;
mitab_c_get_text_spacing: Tmitab_c_get_text_spacing;
mitab_c_get_text_vb: Tmitab_c_get_text_vb;
mitab_c_get_text_width: Tmitab_c_get_text_width;
mitab_c_get_type: Tmitab_c_get_type;
mitab_c_get_vertex_count: Tmitab_c_get_vertex_count;
mitab_c_get_vertex_x: Tmitab_c_get_vertex_x;
mitab_c_get_vertex_y: Tmitab_c_get_vertex_y;
mitab_c_is_interior_ring: Tmitab_c_is_interior_ring;
mitab_c_load_coordsys_table: Tmitab_c_load_coordsys_table;
mitab_c_next_feature_id: Tmitab_c_next_feature_id;
mitab_c_open: Tmitab_c_open;
mitab_c_read_feature: Tmitab_c_read_feature;
mitab_c_set_arc: Tmitab_c_set_arc;
mitab_c_set_brush: Tmitab_c_set_brush;
mitab_c_set_field: Tmitab_c_set_field;
mitab_c_set_font: Tmitab_c_set_font;
mitab_c_set_pen: Tmitab_c_set_pen;
mitab_c_set_points: Tmitab_c_set_points;
mitab_c_set_projinfo: Tmitab_c_set_projinfo;
mitab_c_set_symbol: Tmitab_c_set_symbol;
mitab_c_set_text: Tmitab_c_set_text;
mitab_c_set_text_display: Tmitab_c_set_text_display;
mitab_c_write_feature: Tmitab_c_write_feature;
mitab_c_get_collection_region_ref: Tmitab_c_get_collection_region_ref;
mitab_c_get_collection_polyline_ref: Tmitab_c_get_collection_polyline_ref;
mitab_c_get_collection_multipoint_ref: Tmitab_c_get_collection_multipoint_ref;
mitab_c_set_collection_region: Tmitab_c_set_collection_region;
mitab_c_set_collection_polyline: Tmitab_c_set_collection_polyline;
mitab_c_set_collection_multipoint: Tmitab_c_set_collection_multipoint;
mitab_c_get_projection_info: Tmitab_c_get_projection_info;
mitab_c_set_projection_info: Tmitab_c_set_projection_info;
mitab_c_get_datum_info: Tmitab_c_get_datum_info;
mitab_c_set_datum_info: Tmitab_c_set_datum_info;
mitab_c_get_affine_params: Tmitab_c_get_affine_params;
mitab_c_set_affine_params: Tmitab_c_set_affine_params;
// This allows compilation with Kylix. Later there may be a "mitab.so" ?
// On Kylix MITAB_LibOK will always be false and MITAB_load does nothing
procedure MITAB_load;
implementation
{$IFDEF MSwindows}
uses
windows;
var
MITABDLL_Handle: THandle;
{$ENDIF}
// To test if a function was found in the DLL before using it, do like this:
// if @mitab_c_create<>nil then mitab_c_create(.....)
procedure MITAB_load;
begin
{$IFDEF MSwindows}
MITABDLL_Handle:= LoadLibrary(pchar(LibPath));
if MITABDLL_Handle<>0 then
begin
@mitab_c_getlibversion:= GetProcAddress(MITABDLL_Handle,'_mitab_c_getlibversion@0');
if @mitab_c_getlibversion<>nil then // does the function exist?
begin
if mitab_c_getlibversion=Libversion then // does it return the correct number?
begin
MITAB_LibOK:= true;
@mitab_c_add_field:= GetProcAddress(MITABDLL_Handle,'_mitab_c_add_field@28');
@mitab_c_close:= GetProcAddress(MITABDLL_Handle,'_mitab_c_close@4');
@mitab_c_create:= GetProcAddress(MITABDLL_Handle,'_mitab_c_create@44');
@mitab_c_create_feature:= GetProcAddress(MITABDLL_Handle,'_mitab_c_create_feature@8');
@mitab_c_destroy_feature:= GetProcAddress(MITABDLL_Handle,'_mitab_c_destroy_feature@4');
@mitab_c_getlasterrormsg:= GetProcAddress(MITABDLL_Handle,'_mitab_c_getlasterrormsg@0');
@mitab_c_getlasterrormsg_vb:= GetProcAddress(MITABDLL_Handle,'_mitab_c_getlasterrormsg_vb@8');
@mitab_c_getlasterrorno:= GetProcAddress(MITABDLL_Handle,'_mitab_c_getlasterrorno@0');
@mitab_c_get_brush_bgcolor:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_brush_bgcolor@4');
@mitab_c_get_brush_fgcolor:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_brush_fgcolor@4');
@mitab_c_get_brush_pattern:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_brush_pattern@4');
@mitab_c_get_brush_transparent:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_brush_transparent@4');
@mitab_c_get_extended_mif_coordsys:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_extended_mif_coordsys@4');
@mitab_c_get_feature_count:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_feature_count@4');
@mitab_c_get_field_as_double:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_as_double@8');
@mitab_c_get_field_as_string:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_as_string@8');
@mitab_c_get_field_as_string_vb:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_as_string_vb@16');
@mitab_c_get_field_count:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_count@4');
@mitab_c_get_field_name:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_name@8');
@mitab_c_get_field_name_vb:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_name_vb@16');
@mitab_c_get_field_precision:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_precision@8');
@mitab_c_get_field_type:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_type@8');
@mitab_c_get_field_width:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_field_width@8');
@mitab_c_get_font:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_font@4');
@mitab_c_get_font_vb:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_font_vb@12');
@mitab_c_get_mif_coordsys:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_mif_coordsys@4');
@mitab_c_get_mif_coordsys_vb:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_mif_coordsys_vb@12');
@mitab_c_get_parts:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_parts@4');
@mitab_c_get_pen_color:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_pen_color@4');
@mitab_c_get_pen_pattern:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_pen_pattern@4');
@mitab_c_get_pen_width:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_pen_width@4');
@mitab_c_get_projinfo:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_projinfo@4');
@mitab_c_get_symbol_color:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_symbol_color@4');
@mitab_c_get_symbol_no:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_symbol_no@4');
@mitab_c_get_symbol_size:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_symbol_size@4');
@mitab_c_get_text:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text@4');
@mitab_c_get_text_angle:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_angle@4');
@mitab_c_get_text_bgcolor:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_bgcolor@4');
@mitab_c_get_text_fgcolor:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_fgcolor@4');
@mitab_c_get_text_height:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_height@4');
@mitab_c_get_text_justification:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_justification@4');
@mitab_c_get_text_linetype:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_linetype@4');
@mitab_c_get_text_spacing:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_spacing@4');
@mitab_c_get_text_vb:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_vb@12');
@mitab_c_get_text_width:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_text_width@4');
@mitab_c_get_type:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_type@4');
@mitab_c_get_vertex_count:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_vertex_count@8');
@mitab_c_get_vertex_x:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_vertex_x@12');
@mitab_c_get_vertex_y:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_vertex_y@12');
@mitab_c_is_interior_ring:= GetProcAddress(MITABDLL_Handle,'_mitab_c_is_interior_ring@8');
@mitab_c_load_coordsys_table:= GetProcAddress(MITABDLL_Handle,'_mitab_c_load_coordsys_table@4');
@mitab_c_next_feature_id:= GetProcAddress(MITABDLL_Handle,'_mitab_c_next_feature_id@8');
@mitab_c_open:= GetProcAddress(MITABDLL_Handle,'_mitab_c_open@4');
@mitab_c_read_feature:= GetProcAddress(MITABDLL_Handle,'_mitab_c_read_feature@8');
@mitab_c_set_arc:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_arc@52');
@mitab_c_set_brush:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_brush@20');
@mitab_c_set_field:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_field@12');
@mitab_c_set_font:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_font@8');
@mitab_c_set_pen:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_pen@16');
@mitab_c_set_points:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_points@20');
@mitab_c_set_projinfo:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_projinfo@8');
@mitab_c_set_symbol:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_symbol@16');
@mitab_c_set_text:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_text@8');
@mitab_c_set_text_display:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_text_display@48');
@mitab_c_write_feature:= GetProcAddress(MITABDLL_Handle,'_mitab_c_write_feature@8');
@mitab_c_get_collection_region_ref:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_collection_region_ref@4');
@mitab_c_get_collection_polyline_ref:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_collection_polyline_ref@4');
@mitab_c_get_collection_multipoint_ref:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_collection_multipoint_ref@4');
@mitab_c_set_collection_region:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_collection_region@12');
@mitab_c_set_collection_polyline:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_collection_polyline@12');
@mitab_c_set_collection_multipoint:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_collection_multipoint@12');
@mitab_c_get_projection_info:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_projection_info@20');
@mitab_c_set_projection_info:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_projection_info@20');
@mitab_c_get_datum_info:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_datum_info@20');
@mitab_c_set_datum_info:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_datum_info@32');
@mitab_c_get_affine_params:= GetProcAddress(MITABDLL_Handle,'_mitab_c_get_affine_params@12');
@mitab_c_set_affine_params:= GetProcAddress(MITABDLL_Handle,'_mitab_c_set_affine_params@12');
end;
end;
end;
{$ENDIF}
end;
initialization
MITAB_libOK:= false;
LibPath:= 'mitab.dll';
end.