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

Вниз

Работа с классами   Найти похожие ветки 

 
DenisX   (2003-03-30 15:30) [0]

Всем привет! Подскажите в чем проблема? При использовании метода
Create возникает ошибка. Заранее благодарю.


unit VObj;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, Grids;

type
str22=string[22];

TElement=record
Fam:str22;
Kniga:str22;
Shifr:str22;
God:integer;
Kolvo:integer;
end;

Mas=array of TElement;
TAvtor=class
pV:^Mas;//
schet, schet2:integer;
constructor Create(a:integer);
destructor Destroy;
end;

FT=file of TElement;

implementation

uses Vec, Poi, Dob;

constructor TAvtor.Create(a:integer);
begin
GetMem(pV,a); //Здесь возникает ошибка
schet2:=a;
schet:=a;
end;

destructor TAvtor.Destroy;
begin
FreeMem(pV);
pV:=nil;
end;

end.


 
Palladin ©   (2003-03-30 16:34) [1]

когда ты говоришь array of TYPE, то переменная этого типа уже является указателем,

что получается в твоем случае...
pV является указателем на указатель... тоесть на область памяти в 4 байта, ты же под него выделяешь [a] байт...
конечно будет ошибка...

unit VObj;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, Grids;

type
str22=string[22];

TElement=record
Fam:str22;
Kniga:str22;
Shifr:str22;
God:integer;
Kolvo:integer;
end;

Mas=array of TElement;
TAvtor=class
pV:Mas;//
schet, schet2:integer;
constructor Create(a:integer);
destructor Destroy;
end;

FT=file of TElement;

implementation

uses Vec, Poi, Dob;

constructor TAvtor.Create(a:integer);
begin
SetLength(pV,a); //Здесь больше не будет возникать ошибки
schet2:=a;
schet:=a;
end;

destructor TAvtor.Destroy;
begin
pV:=nil;
end;

end.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
8-30466
Mastak
2003-01-05 15:11
2003.04.10
Еще оди вопрос по OpenGL


14-30523
Александр Г.
2003-03-21 09:07
2003.04.10
Хук на нажатие кнопок в НТ?


7-30619
HardClubber
2003-02-16 15:18
2003.04.10
Состояние дверцы сидирома


1-30342
Saska
2003-03-31 16:00
2003.04.10
Runtime Create


1-30371
Intell
2003-03-28 22:02
2003.04.10
Условие с ShellApi