Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: CL | DM;

Вниз

Динамические массивы в классах   Найти похожие ветки 

 
AndreyAG ©   (2002-11-11 10:36) [0]

Уважаемые Мастера! Помогите! В 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.


 
VaS ©   (2002-11-11 10:45) [1]

constructor Create();


 
icWasya ©   (2002-11-11 10:46) [2]

unit TTreeViewPlus;

interface


type

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

end;



implementation

{ TWin }

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


 
AndreyAG ©   (2002-11-11 10:57) [3]

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


 
AndreyAG ©   (2002-11-11 11:01) [4]

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

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


 
Smithson ©   (2002-11-11 11:02) [5]

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


 
AndreyAG ©   (2002-11-11 11:12) [6]

Ошибка на строчке
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;



 
Внук ©   (2002-11-11 11:22) [7]

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


 
AndreyAG ©   (2002-11-11 11:46) [8]

Действительно работает если потом вызывать вот так:
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;

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


 
Skier ©   (2002-11-11 11:48) [9]

>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:53) [10]

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



Страницы: 1 вся ветка

Текущий архив: 2002.11.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
3-69198
dias
2002-10-31 21:40
2002.11.21
Мастера помогите с поднятием backup в 2000


14-69519
Pan
2002-10-31 15:42
2002.11.21
Как все-таки перевести на русский надпись на кнопке Ok?


14-69504
Dimich1978
2002-11-02 08:40
2002.11.21
Такая проблема с *.dcu


1-69401
Сатир
2002-11-06 19:24
2002.11.21
Найдите, пожалуйста, ошибку в алгоритме особождения ресурсов


1-69391
SiaCD
2002-11-08 02:07
2002.11.21
как определить наличие дискеты в дисководе