Статьи Королевства Дельфи

         

Если таблица не была все


wTableName := FpTInfoCategory.sPrefix + TbNameEdit.Text;

// Создание буферного экземпляра структуры таблицы

// с добавлением ссылки в список ссылочных типов

FDbInterface.Init_NpTTableInfo(wTableName, True);

if not Execute then

Exit;

if TbDefFr = nil then

TbDefFr := TTbDefFr.Create(nil);

try

TbDefFr.DbInterface := FDbInterface;

TbDefFr.ppTTableInfo := FDbInterface.N_pTTableInfo;

TbDefFr.ppTInfoCategory := FpTInfoCategory;

TbDefFr.ShowModal;

// Если таблица не была все же создана..

if not TbDefFr.Execute then

// ..освобождение ресурсов из-под FN_pTTableInfo

begin

// Единичный акт создания таблицы сопровождается обновлением

// списков типов данных системы

FDbInterface.Kill_NpTTableInfo(True);

end;

finally

TbDefFr.Free;

TbDefFr := nil;

end;

Close;

end;

procedure TTbDlgFr.Set_FDbInterface(const Value: TDbInterface);

begin

FDbInterface := Value;

end;

procedure TTbDlgFr.FormCreate(Sender: TObject);

Var

k : Integer;

begin

FpTInfoCategory := nil;

for k := 0 to ComponentCount - 1 do

if TComponent(Components[k]) is TEdit then

TEdit(Components[k]).Clear;

end;

procedure TTbDlgFr.Set_FpTInfoCategory(const Value: pTInfoCategory);

begin

FpTInfoCategory := Value;

end;

Function TTbDlgFr.Init : Bool;

begin

Result := False;

if FDbInterface = nil then

Exit;

// Список категорий информации

TbDbTypeComboBox.Items.Clear;

TbDbTypeComboBox.Items.Assign(FDbInterface.FbDbTypeList);

TbDbTypeComboBox.Sorted := True;

// Если на входе категорию информации на задали - выбрать первую

if FpTInfoCategory = nil then

begin

TbDbTypeComboBox.ItemIndex := 0;

FpTInfoCategory := pTInfoCategory(TbDbTypeComboBox.Items.Objects[0]);

end

else

TbDbTypeComboBox.ItemIndex :=

TbDbTypeComboBox.Items.IndexOfObject(TObject(FpTInfoCategory));

Result := True;

end;

procedure TTbDlgFr.FormActivate(Sender: TObject);

Var

wFullTbName, wS,

wCategPrefix, s : String;

kICateg,

kPrefixL, k : Integer;

wpTInfoCategory : pTInfoCategory;

begin

Init;

kPrefixL := Length(FpTInfoCategory.sPrefix);


Содержание  Назад  Вперед