Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамические массивы в классах [D6]


AndreyAG ©   (2002-11-11 10:36:00) 

Уважаемые Мастера! Помогите! В RunTime Ошибка в методе TWin:Create
Зараннее спасибо !

unit TTreeViewPlus;

interface


type

TWin=class
private
InSignals:array of boolean;
OutSignals:array of boolean;
RealSignals:array of boolean;
public
procedure Create();

end;



implementation

{ TWin }

procedure TWin.Create;
var
i:Integer;
begin
inherited Create();
SetLength(InSignals,8);
SetLength(OutSignals,8);
SetLength(RealSignals,8);
end;
end.


AndreyAG   (2002-11-11 11:53:00) [1]

>Skier
Действительно Мда...
Огромное спасибо!


Skier   (2002-11-11 11:48:00) [2]

>AndreyAG
Мда..........
ВНИМАНИЕ !!! СОЗДАНИЕ ОБЪЕКТОВ !!! :)

procedure TMain.Button1Click(Sender: TObject);
var
A:TWin;
begin
A := TWin.Create;
try
//...работа с A...
finally
FreeAndNil(A);
end; //try
end;


AndreyAG   (2002-11-11 11:46:00) [3]

Действительно работает если потом вызывать вот так:
procedure TMain.Button1Click(Sender: TObject);
var
A:TWin;
begin
A.Create;
end;

А если так то неработает

//*****************
var
A:TWin;
implementation

procedure TMain.Button1Click(Sender: TObject);

begin
A.Create;
end;

Т.е если объект локальный к процедуре то работает , а если
глобальный то нет ! Странно!


Внук   (2002-11-11 11:22:00) [4]

>>AndreyAG © (11.11.02 11:12)
То, что написано в icWasya © (11.11.02 10:46), работает без проблем, да и не может быть иначе...


AndreyAG   (2002-11-11 11:12:00) [5]

Ошибка на строчке
SetLength(InSignals,8);

procedure DynArraySetLength(var a: Pointer; typeInfo: Pointer; dimCnt: Longint; lengthVec: PLongint);
var
i: Integer;
newLength, oldLength, minLength: Longint;
elSize: Longint;
neededSize: Longint;
p, pp: Pointer;
begin
p := a;// ВОТ ЗДЕСЬ ОШИБКА
........................
end;


Smithson   (2002-11-11 11:02:00) [6]

Какая проблема7 Мы же все же не на спиритическом сеансе, твои чувства угадывать.
И на какой конкретно строчке из трех - пройди отладчиком


AndreyAG   (2002-11-11 11:01:00) [7]

Прблема возникает при вызове

SetLength(InSignals,8);
SetLength(OutSignals,8);
SetLength(RealSignals,8);


AndreyAG   (2002-11-11 10:57:00) [8]

То что предложил icWasya НЕ ПОМОГАЕТ


icWasya   (2002-11-11 10:46:00) [9]

unit TTreeViewPlus;

interface


type

TWin=class
private
InSignals:array of boolean;
OutSignals:array of boolean;
RealSignals:array of boolean;
public
constructorCreate();//!!!!!!!!!!!!!!!!!!!!

end;



implementation

{ TWin }

constructorTWin.Create;//!!!!!!!!!!!!!!!!!!!!!!
var
i:Integer;
begin
inherited Create();
SetLength(InSignals,8);
SetLength(OutSignals,8);
SetLength(RealSignals,8);
end;
end.


VaS   (2002-11-11 10:45:00) [10]

constructorCreate();


Наверх

Титульная страница Поиск, карта сайта Написать письмо