Текущий архив: 2004.02.25;
Скачать: CL | DM;
ВнизПомогите найти ошибку в классе Найти похожие ветки
← →
siriusP (2004-02-10 17:17) [0]Подскажите, пожалуйста, где моя ошибка - есть фрейм TFrameShiftDay
- в другом юните есть класс, куда я кладу фреймы:
TFrameShift = class(TObject)
public
FFrameShiftDay: TList;
protected
function GetFrame(aIndex: integer): TFrameShiftDay;
function GetFrameCount: integer;
public
constructor Create();
destructor Destroy;override;
function AddFrameShiftDay(aParent: TWinControl; aidType: integer): integer;
procedure DelFrameShiftDay(aIndex: integer);
property FrameShiftDay[aIndex: integer]: TFrameShiftDay read GetFrame;
property FrameShiftDayCount: integer read GetFrameCount;
end;
constructor TFrameShift.Create();
begin
inherited Create;
FFrameShiftDay:= TList.Create();
end;
destructor TFrameShift.Destroy();
var tmpI: integer;
begin
if assigned(FFrameShiftDay) then begin
for tmpI:= 0 to FFrameShiftDay.Count-1 do
TFrameShiftDay(FFrameShiftDay.Items[tmpI]).Destroy;
end;
FFrameShiftDay.Free;
inherited Destroy;
end;
function TFrameShift.GetFrame(aIndex: integer): TFrameShiftDay;
begin
result:= TFrameShiftDay(FFrameShiftDay.Items[aIndex]);
end;
function TFrameShift.GetFrameCount: integer;
begin
result:= FFrameShiftDay.Count;
end;
function TFrameShift.AddFrameShiftDay(aParent: TWinControl; aidType: integer): integer;
var tmpFrameShiftDay: TFrameShiftDay; // все равно падает
begin
tmpFrameShiftDay:= TFrameShiftDay.Create(aParent);
try
result:= TFrameShiftDayValue.Add(tmpFrameShiftDay); // падает :(
//result:= FFrameShiftDay.Add(TFrameShift.Create());// все равно падает :(
FrameShiftDay[FrameShiftDayCount-1].Parent:= aParent;
FrameShiftDay[FrameShiftDayCount-1].FidstlTimeboardType:= aidType;
finally
if assigned(tmpFrameShiftDay) then FreeAndNil(tmpFrameShiftDay);
end;
end;
procedure TFrameShift.DelFrameShiftDay(aIndex: integer);
begin
FFrameShiftDay.Delete(aIndex);
end;
Спасибо.
← →
Sandman25 (2004-02-10 17:21) [1]И в чем ошибка?
← →
Миноискатель (2004-02-10 17:22) [2]А чего это ты решил, что тут есть ошибка?
← →
Sandman25 (2004-02-10 17:24) [3]result:= TFrameShiftDayValue.Add(tmpFrameShiftDay);
Буква T точно нужна?
← →
Sandman25 (2004-02-10 17:25) [4]TFrameShiftDayValue.Add - описана как class function(...): integer?
Или буква T - лишняя?
← →
siriusP (2004-02-10 17:30) [5]Я Вам не верно написал. У меня так: result:= FFrameShiftDay.Add(tmpFrameShiftDayValue); Здесь и падает.
← →
Sandman25 (2004-02-10 17:36) [6]Что значит падает?
Отладчиком (через F7, а не F8) проходили? На какой строке тогда ошибка?
← →
siriusP (2004-02-10 17:46) [7]На той что я написал
← →
Sandman25 (2004-02-10 17:49) [8]И какая ошибка? С сообщением "Я опять упала"?
← →
Юрий Федоров (2004-02-10 18:36) [9]tmpFrameShiftDayValue - это кто ?
Еще момент
tmpFrameShiftDay:= TFrameShiftDay.Create(aParent);
try
result:= FFrameShiftDay.Add(tmpFrameShiftDay); finally
if assigned(tmpFrameShiftDay) then FreeAndNil(tmpFrameShiftDay);
end;
Создали экземпляр, бобавили в список, и разрушили
Внимание вопрос - что в списке ?
Страницы: 1 вся ветка
Текущий архив: 2004.02.25;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.029 c