Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> компонент BCPort, просто вопрос 
:(
    Опции темы
jigagun
Дата 18.1.2010, 02:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.1.2010

Репутация: нет
Всего: нет



Первая проблема моей программы - это её автор.
Вторая проблема  - можно ли при создании потока через TThread запустить компонент BCPort программно или еще как нибуть ???

исходник потока:
Код

unit SMScontent;

interface

uses
  Classes, SysUtils, BCPort, Windows;

type
  TCOMSMS = class(TThread)
  private
    { Private declarations }
    s: String;
    w: TBComPort;
  protected
    procedure Execute; override;
    procedure Result;
  end;

implementation

uses
  SLBD, MainSL, Dialogs;

procedure TCOMSMS.Execute;
begin
  ///w:=TBComPort.Create(????);
  try
    Form1.comport.Open;
    repeat
      Form1.comport.WriteStr('ATI'+chr(13));
      Form1.comport.ReadStr(s, 250);
      synchronize(Result);
    Until terminated;
    //Form1.comport.Close;
  except
    showmessage('COM - порт отсутствует или неверно введены параметры.');
  end;
  Form1.comport.Close;
end;

procedure TCOMSMS.Result;
begin
  Form1.MM.Lines.Add(s);
end;

end.




на данный момент поток использует компонент кинутый на главную форму - возникает много проблем с синхронизацией или торможением главной формы.

В принципе я понимаю, что мой вопрос скорее всего вызовет бурный смех. Но давайте посмеёмся вместе после того как Вы мне объясните насколько я глуп  smile  smile  smile 




короче решил проблему.... как и думал причина была первой .... если кому будет интересно верный код приведен ниже:
Код

unit SMScontent;

interface

uses
  Classes, SysUtils, BCPort, Windows;

type
  TCOMSMS = class(TThread)
  private
    { Private declarations }
    s: String;
    w: TBComPort;
  protected
    procedure Execute; override;
    procedure Result;
  end;

implementation

uses
  SLBD, MainSL, Dialogs;

procedure TCOMSMS.Execute;
begin
  w:=TBComPort.Create(w);
  w.Timeouts.ReadInterval:=50;
  w.Timeouts.ReadTotalMultiplier:=0;
  w.Timeouts.ReadTotalConstant:=0;
  w.Timeouts.WriteTotalMultiplier:=100;
  w.Timeouts.WriteTotalConstant:=1000;
  w.InBufSize:=2048;
  w.OutBufSize:=2048;
  w.SyncMethod:=smWindowSync;
  w.CTPriority:=tpnormal;
  w.Port:='COM3';
  w.BaudRate:=br115200;
  w.ByteSize:=bs8;
  w.Parity:=paNone;
  w.StopBits:=sb1;
  try
    w.Open;
    repeat
      w.WriteStr('ATI'+chr(13));
      w.ReadStr(s, 250);
      synchronize(Result);
    Until terminated;
    w.Close;
  except
    showmessage('COM - порт отсутствует или неверно введены параметры.');
  end;

end;

procedure TCOMSMS.Result;
begin
  Form1.MM.Lines.Add(s);
end;

end.



Это сообщение отредактировал(а) jigagun - 18.1.2010, 03:48

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  bcomport.zip 41,52 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0386 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.