Вопрос к спецам!!!
СКРИПТ:
Вот так работает:
Вот так работает:
var
ClientDataSet: TClientDataSet;
begin
ClientDataSet := TClientDataSet.Create(Application);
with ClientDataSet.FieldDefs.AddFieldDef do
begin
Name := 'Id';
DataType := ftInteger;
end;
ClientDataSet.CreateDataSet;
ClientDataSet.Active := True;
end.
а вот так вот НЕТ:
var
ClientDataSet: TClientDataSet;
procedure CreateClientDataset(AClientDataSet: TClientDataset);
begin
with ClientDataSet.FieldDefs.AddFieldDef do
begin
Name := 'Id';
DataType := ftInteger;
end;
end;
begin
ClientDataSet := TClientDataSet.Create(Application);
CreateClientDataset(ClientDataSet);
ClientDataSet.CreateDataSet;
ClientDataSet.Active := True;
end.
а вот так опять работает:
var
ClientDataSet: TClientDataSet;
procedure CreateClientDataset(FieldDefs: TFieldDefs);
begin
with FieldDefs.AddFieldDef do
begin
Name := 'Id';
DataType := ftInteger;
end;
end;
begin
ClientDataSet := TClientDataSet.Create(Application);
CreateClientDataset(ClientDataSet.FieldDefs);
ClientDataSet.CreateDataSet;
ClientDataSet.Active := True;
end.
ОПИСАНИЕ ДОБАВЛЕНИЯ КЛАССА:
with AScript do
begin
with AddClass(TCustomClientDataSet, 'TDataSet') do
begin
end;
with AddClass(TClientDataSet, 'TCustomClientDataSet') do
begin
AddMethod('procedure CreateDataSet', CallMethod);
end;
end
В ЧЁМ ПРОБЛЕМА!!!
Комментарии
О!!! А так прокатило нормально!
СПАСИБО!!!