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

Вниз

Создание класса   Найти похожие ветки 

 
_saha_   (2002-12-05 11:00) [0]

Привет!
хочу сделать класс для работы с сом, пока есть конструктор и деструктор. При создании класса в конструкторе при попытке открытия порта вылетает ошибка, если все тоже проделать без класса, а просто в функции, то все ок. Я начинающий, предполагаю что с портом это никак не связано, просто что-то не так в описании класса, про готовые компоненты работы с портом знаю, но не хочу использовать, важен сам процесс. Текст программы:
.....
{стандартная фигня}
.....
TComPort=class(TObject)
protected
HPort:Cardinal;
public
constructor Create;
destructor Destroy;
end;

var
frmMain: TfrmMain;

implementation

{$R *.dfm}

constructor TComPort.Create;
var ct : TCommTimeouts;
dcb: TDCB;
begin
inherited Create;
HPort := CreateFile(PChar("COM2"), //<< тут ошибка
GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if (HPort < 0) or (HPort=INVALID_HANDLE_VALUE) then begin
frmMain.Memo.Lines.Add("


 
Skier ©   (2002-12-05 11:10) [1]

>_saha_
Для начала поставь override

TComPort=class(TObject)
protected
HPort:Cardinal;
public
constructor Create;
destructor Destroy; override;
end;


 
_saha_   (2002-12-06 09:33) [2]

Ок. Но только ошибка в конструкторе не пропала.


 
Skier ©   (2002-12-06 10:24) [3]

>_saha_

Ты неправильно создаёшь экземпляр класса...

Вот правильный код :


var
AComPort : TComPort;
begin
AComPort := TComPort.Create;
try
finally
FreeAndNil(AComPort);
end; //try
end;


И вот сюда сходи :
http://delphi.mastak.ru/articles/components-rt.html


 
Mike_Goblin ©   (2002-12-06 20:44) [4]

или сюда www.torry.ru там этого добра с исходниками можно спокойно скачать



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
14-61823
SiJack
2002-11-29 16:37
2002.12.19
Алиас?


6-61732
vasily5000
2002-10-18 12:51
2002.12.19
Нужно определить Email пользователя из домена w2k, зная логин.


3-61402
BorisUK
2002-12-02 09:50
2002.12.19
Прервать запрос посланный к Oracle


14-61770
STANT
2002-11-27 17:39
2002.12.19
Народ! Хватит трепаться!!!


3-61465
genie
2002-12-01 16:47
2002.12.19
Invalid variant type conversion ??? :`-(