Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2010, 23:59   #1
HTL
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 77
По умолчанию Как перенести обработчик события?

Как перенести обработчик события? с unit1 на unit3?
(Событие: procedure TThread.Execute;) и на какой unit кидать это:

Код:
     TThread = class(TThread)
  protected
    procedure Execute; override;
  end;
add: Формы Form3 не существует, был создан просто unit3
HTL вне форума Ответить с цитированием
Старый 07.01.2010, 00:28   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А зачем его переносить?
Ссылки юнит друг на друга позволят совместное использование.
mihali4 вне форума Ответить с цитированием
Старый 07.01.2010, 00:32   #3
HTL
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 77
По умолчанию

Цитата:
А зачем его переносить?
unit1 сильно загруженный, для того чтобы мне найти событие(С помошью перемотки) уходит до 5мин
HTL вне форума Ответить с цитированием
Старый 07.01.2010, 00:37   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Так ведь сбоку от строк кода есть, навигационное дерево. Там всё есть, очень удобное. Даже когда 1000 строк кода написано
Alter вне форума Ответить с цитированием
Старый 07.01.2010, 00:38   #5
HTL
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 77
По умолчанию

Код:
unit Unit3;

interface

uses
Classes;

TThread = class(TThread) protected procedure Execute;
override;
end;

var
Thread: TThread;


implementation
   uses unit1;

procedure TThread.Execute;
Получаю ошибку: [Error] Unit3.pas(8): Declaration expected but identifier 'TThread' found
HTL вне форума Ответить с цитированием
Старый 07.01.2010, 00:48   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Подождите..
А где type ?
Где у вас класс объявляется и где вы хотите объявить общий обработчик ?
Приведите заголовки всех трех юнит...
mihali4 вне форума Ответить с цитированием
Старый 07.01.2010, 00:52   #7
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Получаю ошибку: [Error] Unit3.pas(8): Declaration expected but identifier 'TThread' found
Код:
TName = class(TThread)
 protected
 procedure Execute;override;
end;
Имя не правильное было...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 07.01.2010, 00:55   #8
HTL
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 77
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, jpeg, ExtCtrls, StdCtrls, XPMan, winsock;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Image1: TImage;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    XPManifest1: TXPManifest;
    GroupBox2: TGroupBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Label1: TLabel;
    Button11: TButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    Button12: TButton;
    Memo1: TMemo;
    GroupBox3: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    procedure N2Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  s:string;
  i:integer;

implementation
   uses unit2, unit3;

{$R *.dfm}
А второй здесь не как не взаимодействует, и зачем здесть type? формы все равно нету, туда нечего вписывать...

имя сделал: T1Thread такая-же хрень

Последний раз редактировалось HTL; 07.01.2010 в 00:57.
HTL вне форума Ответить с цитированием
Старый 07.01.2010, 01:00   #9
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Однако...
Вот :
Код:
...

type
TClass = class(TThread)
 protected
  procedure Execute; override;
end;


var
  Form1: TForm1;
  Obj : TClass;

implementation

{$R *.dfm}

procedure TClass.Execute;
begin

end;


end.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 07.01.2010, 01:03   #10
HTL
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 77
По умолчанию

Код:
type
TClass = class(TThread)
 protected
  procedure Execute; override;
end;
Все работает!

Последний раз редактировалось mihali4; 07.01.2010 в 01:26.
HTL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Предопределенный обработчик события nikmay Общие вопросы Delphi 13 15.07.2009 15:48
Динамический обработчик события SKYDOS Помощь студентам 2 11.04.2008 06:46
Как и в какой момент написать обработчик события если БД не доступна Arteom БД в Delphi 8 04.10.2007 12:08
Обработчик события... Flash_ Gamedev - cоздание игр: Unity, OpenGL, DirectX 12 12.03.2007 21:24