home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / Runimage / Delphi50 / Source / Vcl / IBINTF.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-08-11  |  23.0 KB  |  542 lines

  1. {********************************************************}
  2. {                                                        }
  3. {       Borland Delphi Visual Component Library          }
  4. {       InterBase Express core components                }
  5. {                                                        }
  6. {       Copyright (c) 1998-1999 Inprise Corporation      }
  7. {                                                        }
  8. {    InterBase Express is based in part on the product   }
  9. {    Free IB Components, written by Gregory H. Deatz for }
  10. {    Hoagland, Longo, Moran, Dunst & Doukas Company.     }
  11. {    Free IB Components is used under license.           }
  12. {                                                        }
  13. {********************************************************}
  14.  
  15. unit IBIntf;
  16.  
  17. interface
  18.  
  19. uses Windows, IBHeader, IBInstallHeader, IBExternals;
  20.  
  21. var
  22.   BLOB_get: TBLOB_get;
  23.   BLOB_put: TBLOB_put;
  24.   isc_sqlcode: Tisc_sqlcode;
  25.   isc_sql_interprete: Tisc_sql_interprete;
  26.   isc_interprete: Tisc_interprete;
  27.   isc_vax_integer: Tisc_vax_integer;
  28.   isc_blob_info: Tisc_blob_info;
  29.   isc_open_blob2: Tisc_open_blob2;
  30.   isc_close_blob: Tisc_close_blob;
  31.   isc_get_segment: Tisc_get_segment;
  32.   isc_put_segment: Tisc_put_segment;
  33.   isc_create_blob2: Tisc_create_blob2;
  34.   isc_service_attach: Tisc_service_attach;
  35.   isc_service_detach: Tisc_service_detach;
  36.   isc_service_query: Tisc_service_query;
  37.   isc_service_start: Tisc_service_start;
  38.   isc_decode_date: Tisc_decode_date;
  39.   isc_decode_sql_date: Tisc_decode_sql_date;
  40.   isc_decode_sql_time: Tisc_decode_sql_time;
  41.   isc_decode_timestamp: Tisc_decode_timestamp;
  42.   isc_encode_date: Tisc_encode_date;
  43.   isc_encode_sql_date: Tisc_encode_sql_date;
  44.   isc_encode_sql_time: Tisc_encode_sql_time;
  45.   isc_encode_timestamp: Tisc_encode_timestamp;
  46.   isc_dsql_free_statement: Tisc_dsql_free_statement;
  47.   isc_dsql_execute2: Tisc_dsql_execute2;
  48.   isc_dsql_execute: Tisc_dsql_execute;
  49.   isc_dsql_set_cursor_name: Tisc_dsql_set_cursor_name;
  50.   isc_dsql_fetch: Tisc_dsql_fetch;
  51.   isc_dsql_sql_info: Tisc_dsql_sql_info;
  52.   isc_dsql_alloc_statement2: Tisc_dsql_alloc_statement2;
  53.   isc_dsql_prepare: Tisc_dsql_prepare;
  54.   isc_dsql_describe_bind: Tisc_dsql_describe_bind;
  55.   isc_dsql_describe: Tisc_dsql_describe;
  56.   isc_dsql_execute_immediate: Tisc_dsql_execute_immediate;
  57.   isc_drop_database: Tisc_drop_database;
  58.   isc_detach_database: Tisc_detach_database;
  59.   isc_attach_database: Tisc_attach_database;
  60.   isc_database_info: Tisc_database_info;
  61.   isc_start_multiple: Tisc_start_multiple;
  62.   isc_commit_transaction: Tisc_commit_transaction;
  63.   isc_commit_retaining: Tisc_commit_retaining;
  64.   isc_rollback_transaction: Tisc_rollback_transaction;
  65.   isc_rollback_retaining: Tisc_rollback_retaining;
  66.   isc_cancel_events: Tisc_cancel_events;
  67.   isc_que_events: Tisc_que_events;
  68.   isc_event_counts: Tisc_event_counts;
  69.   isc_event_block: Tisc_event_block;
  70.   isc_free: Tisc_free;
  71.  
  72.   isc_install_clear_options: Tisc_install_clear_options;
  73.   isc_install_execute: Tisc_install_execute;
  74.   isc_install_get_info: Tisc_install_get_info;
  75.   isc_install_get_message: Tisc_install_get_message;
  76.   isc_install_load_external_text: Tisc_install_load_external_text;
  77.   isc_install_precheck: Tisc_install_precheck;
  78.   isc_install_set_option: Tisc_install_set_option;
  79.   isc_uninstall_execute: Tisc_uninstall_execute;
  80.   isc_uninstall_precheck: Tisc_uninstall_precheck;
  81.   isc_install_unset_option: Tisc_install_unset_option;
  82.  
  83. { Library Initialization }
  84. procedure LoadIBLibrary;
  85. procedure FreeIBLibrary;
  86. procedure LoadIBInstallLibrary;
  87. procedure FreeIBInstallLibrary;
  88. function TryIBLoad: Boolean;
  89. procedure CheckIBLoaded;
  90. function GetIBClientVersion: Integer;
  91. procedure CheckIBInstallLoaded;
  92.  
  93. { Stubs for 6.0 only functions }
  94. function isc_rollback_retaining_stub(status_vector   : PISC_STATUS;
  95.               tran_handle     : PISC_TR_HANDLE):
  96.                                      ISC_STATUS; stdcall;
  97. function isc_service_attach_stub(status_vector      : PISC_STATUS;
  98.                                  isc_arg2           : UShort;
  99.                                  isc_arg3           : PChar;
  100.                                  service_handle     : PISC_SVC_HANDLE;
  101.                                  isc_arg5           : UShort;
  102.                                  isc_arg6           : PChar):
  103.                                  ISC_STATUS; stdcall;
  104. function isc_service_detach_stub(status_vector      : PISC_STATUS;
  105.                                  service_handle     : PISC_SVC_HANDLE):
  106.                                  ISC_STATUS; stdcall;
  107. function isc_service_query_stub(status_vector        : PISC_STATUS;
  108.                                 service_handle       : PISC_SVC_HANDLE;
  109.                                 recv_handle          : PISC_SVC_HANDLE;
  110.                                 isc_arg4             : UShort;
  111.                                 isc_arg5             : PChar;
  112.                                 isc_arg6             : UShort;
  113.                                 isc_arg7             : PChar;
  114.                                 isc_arg8             : UShort;
  115.                                 isc_arg9             : PChar):
  116.                                 ISC_STATUS; stdcall;
  117. function isc_service_start_stub(status_vector        : PISC_STATUS;
  118.                                 service_handle       : PISC_SVC_HANDLE;
  119.                                 recv_handle          : PISC_SVC_HANDLE;
  120.                                 isc_arg4             : UShort;
  121.                                 isc_arg5             : PChar):
  122.                                 ISC_STATUS; stdcall;
  123.  
  124. procedure isc_encode_sql_date_stub(tm_date           : PCTimeStructure;
  125.                  ib_date           : PISC_DATE);
  126.                                    stdcall;
  127.  
  128. procedure isc_encode_sql_time_stub(tm_date           : PCTimeStructure;
  129.                    ib_time           : PISC_TIME);
  130.                                    stdcall;
  131.  
  132. procedure isc_encode_timestamp_stub(tm_date          : PCTimeStructure;
  133.                   ib_timestamp     : PISC_TIMESTAMP);
  134.                                     stdcall;
  135.  
  136. procedure isc_decode_sql_date_stub(ib_date           : PISC_DATE;
  137.                                    tm_date           : PCTimeStructure);
  138.                                    stdcall;
  139.  
  140. procedure isc_decode_sql_time_stub(ib_time           : PISC_TIME;
  141.                                    tm_date           : PCTimeStructure);
  142.                                    stdcall;
  143.  
  144. procedure isc_decode_timestamp_stub(ib_timestamp     : PISC_TIMESTAMP;
  145.                                     tm_date          : PCTimeStructure);
  146.                                     stdcall;
  147.  
  148. { stubs for install functions }
  149. function isc_install_clear_options_stub(hOption: POPTIONS_HANDLE):MSG_NO; stdcall;
  150. function isc_install_execute_stub(hOption: OPTIONS_HANDLE;
  151.                              src_dir: TEXT;
  152.                              dest_dir: TEXT;
  153.                              status_func: FP_STATUS;
  154.                              status_data: pointer;
  155.                              error_func: FP_ERROR;
  156.                              error_data: pointer;
  157.                              uninstal_file_name: TEXT):MSG_NO; stdcall;
  158. function isc_install_get_info_stub(info_type :integer;
  159.                               option :OPT;
  160.                               info_buffer : Pointer;
  161.                               buf_len : Cardinal): MSG_NO; stdcall;
  162. function isc_install_get_message_stub(hOption: OPTIONS_HANDLE;
  163.                                  message_no: MSG_NO;
  164.                                  message_txt: Pointer;
  165.                                  message_len: Cardinal):MSG_NO; stdcall;
  166. function isc_install_load_external_text_stub(msg_file_name: TEXT):MSG_NO; stdcall;
  167. function isc_install_precheck_stub(hOption: OPTIONS_HANDLE;
  168.                               src_dir: TEXT;
  169.                               dest_dir: TEXT):MSG_NO; stdcall;
  170. function isc_install_set_option_stub(hOption: POPTIONS_HANDLE;
  171.                                 option: OPT):MSG_NO; stdcall;
  172. function isc_uninstall_execute_stub(uninstall_file_name: TEXT;
  173.                                status_func: FP_STATUS;
  174.                                status_data: pointer;
  175.                                error_func: FP_ERROR;
  176.                                error_data: pointer):MSG_NO; stdcall;
  177. function isc_uninstall_precheck_stub(uninstall_file_name: TEXT):MSG_NO; stdcall;
  178. function isc_install_unset_option_stub(hOption: POPTIONS_HANDLE;
  179.                                   option: OPT):MSG_NO; stdcall;
  180.  
  181. implementation
  182.  
  183. uses Sysutils, IB;
  184.  
  185. var
  186.   IBLibrary: THandle;
  187.   IBInstallLibrary: THandle;
  188.   IBClientVersion: Integer;
  189.  
  190. procedure LoadIBLibrary;
  191.  
  192.   function GetProcAddr(ProcName: PChar): Pointer;
  193.   begin
  194.     Result := GetProcAddress(IBLibrary, ProcName);
  195.     if not Assigned(Result) then
  196.       RaiseLastWin32Error;
  197.   end;
  198.  
  199. begin
  200.   IBLibrary := LoadLibrary(PChar(IBASE_DLL));
  201.   if (IBLibrary > HINSTANCE_ERROR) then
  202.   begin
  203.     BLOB_get := GetProcAddr('BLOB_get'); {do not localize}
  204.     BLOB_put := GetProcAddr('BLOB_put'); {do not localize}
  205.     isc_sqlcode := GetProcAddr('isc_sqlcode'); {do not localize}
  206.     isc_sql_interprete := GetProcAddr('isc_sql_interprete'); {do not localize}
  207.     isc_interprete := GetProcAddr('isc_interprete'); {do not localize}
  208.     isc_vax_integer := GetProcAddr('isc_vax_integer'); {do not localize}
  209.     isc_blob_info := GetProcAddr('isc_blob_info'); {do not localize}
  210.     isc_open_blob2 := GetProcAddr('isc_open_blob2'); {do not localize}
  211.     isc_close_blob := GetProcAddr('isc_close_blob'); {do not localize}
  212.     isc_get_segment := GetProcAddr('isc_get_segment'); {do not localize}
  213.     isc_put_segment := GetProcAddr('isc_put_segment'); {do not localize}
  214.     isc_create_blob2 := GetProcAddr('isc_create_blob2'); {do not localize}
  215.     isc_decode_date := GetProcAddr('isc_decode_date'); {do not localize}
  216.     isc_encode_date := GetProcAddr('isc_encode_date'); {do not localize}
  217.     isc_dsql_free_statement := GetProcAddr('isc_dsql_free_statement'); {do not localize}
  218.     isc_dsql_execute2 := GetProcAddr('isc_dsql_execute2'); {do not localize}
  219.     isc_dsql_execute := GetProcAddr('isc_dsql_execute'); {do not localize}
  220.     isc_dsql_set_cursor_name := GetProcAddr('isc_dsql_set_cursor_name'); {do not localize}
  221.     isc_dsql_fetch := GetProcAddr('isc_dsql_fetch'); {do not localize}
  222.     isc_dsql_sql_info := GetProcAddr('isc_dsql_sql_info'); {do not localize}
  223.     isc_dsql_alloc_statement2 := GetProcAddr('isc_dsql_alloc_statement2'); {do not localize}
  224.     isc_dsql_prepare := GetProcAddr('isc_dsql_prepare'); {do not localize}
  225.     isc_dsql_describe_bind := GetProcAddr('isc_dsql_describe_bind'); {do not localize}
  226.     isc_dsql_describe := GetProcAddr('isc_dsql_describe'); {do not localize}
  227.     isc_dsql_execute_immediate := GetProcAddr('isc_dsql_execute_immediate'); {do not localize}
  228.     isc_drop_database := GetProcAddr('isc_drop_database'); {do not localize}
  229.     isc_detach_database := GetProcAddr('isc_detach_database'); {do not localize}
  230.     isc_attach_database := GetProcAddr('isc_attach_database'); {do not localize}
  231.     isc_database_info := GetProcAddr('isc_database_info'); {do not localize}
  232.     isc_start_multiple := GetProcAddr('isc_start_multiple'); {do not localize}
  233.     isc_commit_transaction := GetProcAddr('isc_commit_transaction'); {do not localize}
  234.     isc_commit_retaining := GetProcAddr('isc_commit_retaining'); {do not localize}
  235.     isc_rollback_transaction := GetProcAddr('isc_rollback_transaction'); {do not localize}
  236.     isc_cancel_events := GetProcAddr('isc_cancel_events'); {do not localize}
  237.     isc_que_events := GetProcAddr('isc_que_events'); {do not localize}
  238.     isc_event_counts := GetProcAddr('isc_event_counts'); {do not localize}
  239.     isc_event_block := GetProcAddr('isc_event_block'); {do not localize}
  240.     isc_free := GetProcAddr('isc_free'); {do not localize}
  241.  
  242.     IBClientVersion := 6;
  243.     isc_rollback_retaining := GetProcAddress(IBLibrary, 'isc_rollback_retaining'); {do not localize}
  244.     if Assigned(isc_rollback_retaining) then
  245.     begin
  246.       isc_service_attach := GetProcAddr('isc_service_attach'); {do not localize}
  247.       isc_service_detach := GetProcAddr('isc_service_detach'); {do not localize}
  248.       isc_service_query := GetProcAddr('isc_service_query'); {do not localize}
  249.       isc_service_start := GetProcAddr('isc_service_start'); {do not localize}
  250.       isc_decode_sql_date := GetProcAddr('isc_decode_sql_date'); {do not localize}
  251.       isc_decode_sql_time := GetProcAddr('isc_decode_sql_time'); {do not localize}
  252.       isc_decode_timestamp := GetProcAddr('isc_decode_timestamp'); {do not localize}
  253.       isc_encode_sql_date := GetProcAddr('isc_encode_sql_date'); {do not localize}
  254.       isc_encode_sql_time := GetProcAddr('isc_encode_sql_time'); {do not localize}
  255.       isc_encode_timestamp := GetProcAddr('isc_encode_timestamp'); {do not localize}
  256.     end else
  257.     begin
  258.       IBClientVersion := 5;
  259.       isc_rollback_retaining := isc_rollback_retaining_stub;
  260.       isc_service_attach := isc_service_attach_stub;
  261.       isc_service_detach := isc_service_detach_stub;
  262.       isc_service_query := isc_service_query_stub;
  263.       isc_service_start := isc_service_start_stub;
  264.       isc_decode_sql_date := isc_decode_sql_date_stub;
  265.       isc_decode_sql_time := isc_decode_sql_time_stub;
  266.       isc_decode_timestamp := isc_decode_timestamp_stub;
  267.       isc_encode_sql_date := isc_encode_sql_date_stub;
  268.       isc_encode_sql_time := isc_encode_sql_time_stub;
  269.       isc_encode_timestamp := isc_encode_timestamp_stub;
  270.     end;
  271.   end;
  272. end;
  273.  
  274. procedure FreeIBLibrary;
  275. begin
  276.   if IBLibrary > HINSTANCE_ERROR then
  277.   begin
  278.     FreeLibrary(IBLibrary);
  279.     IBLibrary := 0;
  280.   end;
  281. end;
  282.  
  283. procedure LoadIBInstallLibrary;
  284.  
  285.   function GetProcAddr(ProcName: PChar): Pointer;
  286.   begin
  287.     Result := GetProcAddress(IBInstallLibrary, ProcName);
  288.     if not Assigned(Result) then RaiseLastWin32Error;
  289.   end;
  290.  
  291. begin
  292.   IBInstallLibrary := LoadLibrary(PChar(IB_INSTALL_DLL));
  293.   if (IBInstallLibrary > HINSTANCE_ERROR) then
  294.   begin
  295.     isc_install_clear_options := GetProcAddr('isc_install_clear_options'); {do not localize}
  296.     isc_install_execute := GetProcAddr('isc_install_execute'); {do not localize}
  297.     isc_install_get_info := GetProcAddr('isc_install_get_info'); {do not localize}
  298.     isc_install_get_message := GetProcAddr('isc_install_get_message'); {do not localize}
  299.     isc_install_load_external_text := GetProcAddr('isc_install_load_external_text'); {do not localize}
  300.     isc_install_precheck := GetProcAddr('isc_install_precheck'); {do not localize}
  301.     isc_install_set_option := GetProcAddr('isc_install_set_option'); {do not localize}
  302.     isc_uninstall_execute := GetProcAddr('isc_uninstall_execute'); {do not localize}
  303.     isc_uninstall_precheck := GetProcAddr('isc_uninstall_precheck'); {do not localize}
  304.     isc_install_unset_option := GetProcAddr('isc_install_unset_option'); {do not localize}
  305.   end
  306.   else begin
  307.     isc_install_clear_options := isc_install_clear_options_stub;
  308.     isc_install_execute := isc_install_execute_stub;
  309.     isc_install_get_info := isc_install_get_info_stub;
  310.     isc_install_get_message := isc_install_get_message_stub;
  311.     isc_install_load_external_text := isc_install_load_external_text_stub;
  312.     isc_install_precheck := isc_install_precheck_stub;
  313.     isc_install_set_option := isc_install_set_option_stub;
  314.     isc_uninstall_execute := isc_uninstall_execute_stub;
  315.     isc_uninstall_precheck := isc_uninstall_precheck_stub;
  316.     isc_install_unset_option := isc_install_unset_option_stub;
  317.   end;
  318. end;
  319.  
  320. procedure FreeIBInstallLibrary;
  321. begin
  322.   if IBInstallLibrary > HINSTANCE_ERROR then
  323.   begin
  324.     FreeLibrary(IBInstallLibrary);
  325.     IBInstallLibrary := 0;
  326.   end;
  327. end;
  328.  
  329. function TryIBLoad: Boolean;
  330. begin
  331.   if (IBLibrary <= HINSTANCE_ERROR) then
  332.     LoadIBLibrary;
  333.   if (IBLibrary <= HINSTANCE_ERROR) then
  334.     result := False
  335.   else
  336.     result := True;
  337. end;
  338.  
  339. procedure CheckIBLoaded;
  340. begin
  341.   if not TryIBLoad then
  342.     IBError(ibxeInterBaseMissing, [nil]);
  343. end;
  344.  
  345. function GetIBClientVersion: Integer;
  346. begin
  347.   CheckIBLoaded;
  348.   result := IBClientVersion;
  349. end;
  350.  
  351. procedure CheckIBInstallLoaded;
  352. begin
  353.   if (IBInstallLibrary <= HINSTANCE_ERROR) then
  354.     LoadIBInstallLibrary;
  355.   if (IBInstallLibrary <= HINSTANCE_ERROR) then
  356.     IBError(ibxeInterBaseInstallMissing, [nil]);
  357. end;
  358.  
  359. function isc_rollback_retaining_stub(status_vector   : PISC_STATUS;
  360.               tran_handle     : PISC_TR_HANDLE):
  361.                                      ISC_STATUS; stdcall;
  362. begin
  363.   Result := 0;
  364.   IBError(ibxeIB60feature, ['isc_rollback_retaining']); {do not localize}
  365. end;
  366.  
  367. function isc_service_attach_stub(status_vector      : PISC_STATUS;
  368.                                  isc_arg2           : UShort;
  369.                                  isc_arg3           : PChar;
  370.                                  service_handle     : PISC_SVC_HANDLE;
  371.                                  isc_arg5           : UShort;
  372.                                  isc_arg6           : PChar):
  373.                                  ISC_STATUS; stdcall;
  374. begin
  375.   Result := 0;
  376.   IBError(ibxeIB60feature, ['isc_service_attach']); {do not localize}
  377. end;
  378.  
  379. function isc_service_detach_stub(status_vector      : PISC_STATUS;
  380.                                  service_handle     : PISC_SVC_HANDLE):
  381.                                  ISC_STATUS; stdcall;
  382. begin
  383.   Result := 0;
  384.   IBError(ibxeIB60feature, ['isc_service_detach']); {do not localize}
  385. end;
  386.  
  387. function isc_service_query_stub(status_vector        : PISC_STATUS;
  388.                                 service_handle       : PISC_SVC_HANDLE;
  389.                                 recv_handle          : PISC_SVC_HANDLE;
  390.                                 isc_arg4             : UShort;
  391.                                 isc_arg5             : PChar;
  392.                                 isc_arg6             : UShort;
  393.                                 isc_arg7             : PChar;
  394.                                 isc_arg8             : UShort;
  395.                                 isc_arg9             : PChar):
  396.                                 ISC_STATUS; stdcall;
  397. begin
  398.   Result := 0;
  399.   IBError(ibxeIB60feature, ['isc_service_query']); {do not localize}
  400. end;
  401.  
  402. function isc_service_start_stub(status_vector        : PISC_STATUS;
  403.                                 service_handle       : PISC_SVC_HANDLE;
  404.                                 recv_handle          : PISC_SVC_HANDLE;
  405.                                 isc_arg4             : UShort;
  406.                                 isc_arg5             : PChar):
  407.                                 ISC_STATUS; stdcall;
  408. begin
  409.   Result := 0;
  410.   IBError(ibxeIB60feature, ['isc_service_start']); {do not localize}
  411. end;
  412.  
  413. procedure isc_encode_sql_date_stub(tm_date           : PCTimeStructure;
  414.                  ib_date           : PISC_DATE);
  415.                                    stdcall;
  416. begin
  417.   IBError(ibxeIB60feature, ['isc_encode_sql_date']); {do not localize}
  418. end;
  419.  
  420. procedure isc_encode_sql_time_stub(tm_date           : PCTimeStructure;
  421.                    ib_time           : PISC_TIME);
  422.                                    stdcall;
  423. begin
  424.   IBError(ibxeIB60feature, ['isc_encode_sql_time']); {do not localize}
  425. end;
  426.  
  427. procedure isc_encode_timestamp_stub(tm_date          : PCTimeStructure;
  428.                   ib_timestamp     : PISC_TIMESTAMP);
  429.                                     stdcall;
  430. begin
  431.   IBError(ibxeIB60feature, ['isc_encode_sql_timestamp']); {do not localize}
  432. end;
  433.  
  434. procedure isc_decode_sql_date_stub(ib_date           : PISC_DATE;
  435.                                    tm_date           : PCTimeStructure);
  436.                                    stdcall;
  437. begin
  438.   IBError(ibxeIB60feature, ['isc_decode_sql_date']); {do not localize}
  439. end;
  440.  
  441. procedure isc_decode_sql_time_stub(ib_time           : PISC_TIME;
  442.                                    tm_date           : PCTimeStructure);
  443.                                    stdcall;
  444. begin
  445.   IBError(ibxeIB60feature, ['isc_decode_sql_time']); {do not localize}
  446. end;
  447.  
  448. procedure isc_decode_timestamp_stub(ib_timestamp     : PISC_TIMESTAMP;
  449.                                     tm_date          : PCTimeStructure);
  450.                                     stdcall;
  451. begin
  452.   IBError(ibxeIB60feature, ['isc_decode_timestamp']); {do not localize}
  453. end;
  454.  
  455. function isc_install_clear_options_stub(hOption: POPTIONS_HANDLE):MSG_NO; stdcall;
  456. begin
  457.   Result := 0;
  458.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  459. end;
  460.  
  461. function isc_install_execute_stub(hOption: OPTIONS_HANDLE;
  462.                              src_dir: TEXT;
  463.                              dest_dir: TEXT;
  464.                              status_func: FP_STATUS;
  465.                              status_data: pointer;
  466.                              error_func: FP_ERROR;
  467.                              error_data: pointer;
  468.                              uninstal_file_name: TEXT):MSG_NO; stdcall;
  469. begin
  470.   Result := 0;
  471.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  472. end;
  473.  
  474. function isc_install_get_info_stub(info_type :integer;
  475.                               option :OPT;
  476.                               info_buffer : Pointer;
  477.                               buf_len : Cardinal): MSG_NO; stdcall;
  478. begin
  479.   Result := 0;
  480.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  481. end;
  482.  
  483. function isc_install_get_message_stub(hOption: OPTIONS_HANDLE;
  484.                                  message_no: MSG_NO;
  485.                                  message_txt: Pointer;
  486.                                  message_len: Cardinal):MSG_NO; stdcall;
  487. begin
  488.   Result := 0;
  489.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  490. end;
  491.  
  492. function isc_install_load_external_text_stub(msg_file_name: TEXT):MSG_NO; stdcall;
  493. begin
  494.   Result := 0;
  495.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  496. end;
  497.  
  498. function isc_install_precheck_stub(hOption: OPTIONS_HANDLE;
  499.                               src_dir: TEXT;
  500.                               dest_dir: TEXT):MSG_NO; stdcall;
  501. begin
  502.   Result := 0;
  503.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  504. end;
  505.  
  506. function isc_install_set_option_stub(hOption: POPTIONS_HANDLE;
  507.                                 option: OPT):MSG_NO; stdcall;
  508. begin
  509.   Result := 0;
  510.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  511. end;
  512.  
  513. function isc_uninstall_execute_stub(uninstall_file_name: TEXT;
  514.                                status_func: FP_STATUS;
  515.                                status_data: pointer;
  516.                                error_func: FP_ERROR;
  517.                                error_data: pointer):MSG_NO; stdcall;
  518. begin
  519.   Result := 0;
  520.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  521. end;
  522.  
  523. function isc_uninstall_precheck_stub(uninstall_file_name: TEXT):MSG_NO; stdcall;
  524. begin
  525.   Result := 0;
  526.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  527. end;
  528.  
  529. function isc_install_unset_option_stub(hOption: POPTIONS_HANDLE;
  530.                                   option: OPT):MSG_NO; stdcall;
  531. begin
  532.   Result := 0;
  533.   IBError(ibxeIB60feature, ['isc_install_xxx ']); {do not localize}
  534. end;
  535.  
  536. initialization
  537.  
  538. finalization
  539.   FreeIBLibrary;
  540.   FreeIBInstallLibrary;
  541. end.
  542.