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

Вниз

public array of THandle   Найти похожие ветки 

 
NPR2   (2004-03-10 10:14) [0]

В главной форме описываю массив как public и складываю в него Handle, открытых СОМ портов. Но в дочернем окне при write в порт и read из порта я не вижу нужного элемента этого массива, т.е
   WriteFile(aHandle[m]," 1 1c"+#239,6,dw_Write,@OverWrite) не работает.
А когда в главной форме описываю просто как Thandle и открываю только один порт, то все проходит нормально.
Как сделать, чтобы все работало.


 
Я ©   (2004-03-10 10:21) [1]

1. "Не работает" это: не компилируется или не выполняет того, что нужно?
2. Обращение: MainForm.aHandle[m]. Хотя (по описанию) это нарушение инкапсуляции. Используйте public property.


 
NPR2   (2004-03-10 10:30) [2]

Самое интересное, что компилируется и выполняется, только без результата - если я в лоб руками набиру. В авто подсказке этот элемент не виден.


 
Я ©   (2004-03-10 10:36) [3]

Приведите:
1. Декларацию класса основной формы
2. Код записи данных в массив
3. Код чтения данных из массива
4. Как задается размер массива?


 
NPR2   (2004-03-10 11:40) [4]

unit Gl;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Menus, ExtCtrls, DB, DBTables,Registry;
type
 TGl_Form = class(TForm)
...
public
 aHandle:array of THandle;
...
procedure TGl_Form.FormCreate(Sender: TObject);
...
   SetLength(aHandle,st_Com_Port.Count); количество СОМ портов из реестра
for m:=0 to st_Com_Port.Count-1 do
  begin
   aHandle[m]:=CreateFile(PChar(st_Com_Port.Strings[m]),
                GENERIC_READ or GENERIC_WRITE,0,nil,
                OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);
...
end;
procedure TGl_Form.Timer_SworTimer(Sender: TObject);
....
   WriteFile(aHandle," 1 1c"+#239,6,dw_Write,@OverWrite);
...



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1078419634
Norfolk
2004-03-04 20:00
2004.03.28
Дерево каталогов в TMemo


3-1077280557
TATIANA
2004-02-20 15:35
2004.03.28
Как пометить несколько записей в GRID


3-1077529794
Бульбаш
2004-02-23 12:49
2004.03.28
Как погасить курсор в поле?


14-1078001579
Layner
2004-02-28 23:52
2004.03.28
Люди, никто не ставил на комп где стоит NT2000, 98, 2й ОС?


6-1074157742
Danilin
2004-01-15 12:09
2004.03.28
Определение IP по MAC