Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.023 c
14-80235
Ломброзо
2004-02-04 15:17
2004.02.25
Вопрос меломанам


1-79801
AleksandrKu
2004-02-11 15:27
2004.02.25
Работа с Excel-ом


14-80191
J_S
2004-01-31 00:50
2004.02.25
Как правильно задавать вопросы


4-80377
Amadeus
2003-12-19 00:08
2004.02.25
Ставлю глобальный хук на клавиатуру, но клавиши не ловятся.


11-79691
Ajax
2003-06-04 22:17
2004.02.25
TKOLTreeView