Есть такой класс
Код:
unit FillComboClass;
interface
uses
SysUtils, DBCtrlsEh,FIBDatabase, pFIBDatabase,FIBDataSet,pFIBDataSet,Classes;
Type
TFillCombo = class(TObject)
Private
fset: TpFIBDataSet;
citem: TStringList;
fieldname: String;
Protected
Procedure Setfset(Val: TpFIBDataSet);
Procedure Setfieldname(Val: String);
Public
// Constructor Create(DataSet: TpFIBDataSet; FieldName: string); // Конструктор
Constructor Create; // Конструктор
Destructor Destroy;// Деструктор
Property DataSe: TpFIBDataSet write Setfset; // Свойство класса
Property FieldNam: String write Setfieldname; // Свойство класса
function fill(Val:TStringList):TStringList;
end;
implementation
uses DMUnit;
//constructor TFillCombo.Create(DataSet: TpFIBDataSet; item: TDBComboBoxEh; FieldName: string);
//constructor TFillCombo.Create(DataSet: TpFIBDataSet; FieldName: string);
constructor TFillCombo.Create;
begin
citem:=TStringList.Create;
end;
destructor TFillCombo.Destroy;
begin
inherited;
end;
function TFillCombo.fill(Val:TStringList):TStringList;
begin
fset.First;
while not fset.Eof do
begin
citem.add(fset.FieldByName(fieldname).AsString);
fset.Next;
end;
result := citem;
citem.Free;
end;
procedure TFillCombo.Setfieldname(Val: String);
begin
fieldname:=val;
end;
procedure TFillCombo.Setfset(Val: TpFIBDataSet);
begin
fset :=TpFIBDataSet.Create(nil);
fset:=Val;
end;
end.
в этом кусочке
Код:
citem.add(fset.FieldByName(fieldname).AsString);
в citem типа TStringList не добовляются строки. Почему так? Вроде все правильно.
у меня Delphi 2009.