pTableDesc^.pecrFldOp := pFldOp;
pTableDesc^.pfldDesc := pFieldDesc;
Close;
BDECheck(DbiDoRestructure(hDB, 1, pTableDesc, nil, nil, nil, False));
finally
if pTableDesc <> nil then FreeMem(pTableDesc,sizeOf(CRTblDesc));
if pFldOp <> nil then FreeMem(pFldOp, CurPrp.iFields*sizeOf(CROpType));
if pFieldDesc <> nil then FreeMem(pFieldDesc, CurPrp.iFields*sizeOf(FldDesc));
Open;
end; {пробуем с table1}
Result := True;
end;
Reinhard Kalinke
Изменение конфигурации IDAPI
Delphi 1
Возможно ли установить параметр MAXFILEHANDLES в IDAPI.CFG посредством Delphi?
Да. Следующий компонент показывает как это можно сделать (а также изменить другие параметры):
unit CFGTOOL;
interface
uses SysUtils, Classes, DB, DbiProcs, DbiTypes, DbiErrs;
type TBDEConfig = class(TComponent)
private
FLocalShare : Boolean;
FMinBufSize : Integer;
FMaxBufSize : Integer;
FSystemLangDriver : String;
FParadoxLangDriver : String;
FMaxFileHandles : Integer;
FNetFileDir : String;
FTableLevel : String;
FBlockSize : Integer;
FDefaultDriver : String;
FStrictIntegrity : Boolean;
FAutoODBC : Boolean;
procedure Init;
procedure SetLocalShare(Value : Boolean);
procedure SetMinBufSize(Value : Integer);
procedure SetMaxBufSize(Value : Integer);
procedure SetSystemLangDriver(Value : String);
procedure SetParadoxLangDriver(Value : String);
procedure SetMaxFileHandles(Value : Integer);
procedure SetNetFileDir(Value : String);
procedure SetTableLevel(Value : String);
procedure SetBlockSize(Value : Integer);
procedure SetDefaultDriver(Value : String);
procedure SetAutoODBC(Value : Boolean);
procedure SetStrictIntegrity(Value : Boolean);
procedure UpdateCFGFile(path, item, value : string);
protected
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property LocalShare : Boolean read FLocalShare write SetLocalShare;
property MinBufSize : Integer read FMinBufSize write SetMinBufSize;
property MaxBufSize : Integer read FMaxBufSize write SetMaxBufSize;
property SystemLangDriver : String read FSystemLangDriver write SetSystemLangDriver;
property ParadoxLangDriver : String read FParadoxLangDriver write SetParadoxLangDriver;
property MaxFileHandles : Integer read FMaxFileHandles write SetMaxFileHandles;
property NetFileDir : String read FNetFileDir write SetNetFileDir;
property TableLevel : String read FTableLevel write SetTableLevel;
property BlockSize : Integer read FBlockSize write SetBlockSize;
property DefaultDriver : string read FDefaultDriver write SetDefaultDriver;
property AutoODBC : Boolean read FAutoODBC write SetAutoODBC;
property StrictIntegrity : Boolean read FStrictIntegrity write SetStrictIntegrity;
end;
procedure Register;
implementation
function StrToBoolean(Value : string) : Boolean;
begin