Главная страница
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.02 c
1-79834
karburator
2004-02-10 11:05
2004.02.25
Как узнать путь к программе из запущенного ею потока?


14-80128
ИМХО
2004-02-01 02:20
2004.02.25
Сколько нот: 7 или 14


3-79682
chtr
2004-01-30 09:11
2004.02.25
Как изменить порт доступа к MSSQL.


1-79960
@G
2004-02-13 18:33
2004.02.25
Дата и Время


1-79906
Budy
2004-02-09 15:20
2004.02.25
Align у TEdit