![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать адрес процедуры в потоке из модуля этой же программы? [D7, WinXP]
San1712 © (2008-03-27 05:41:00)Как узнать адрес процедуры в потоке, из другого модуля этой же программы ? Пробовал следующие варианты при которых компилятор выдаёт сообщение Undeclared identifier: 'Execute'.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,Unit8;{Unit8 это модуль потока}
type
TForm6 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
ListBox1: TListBox;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
pr:b;
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit1;
......
var Addr:Pointer;
begin
Addr := @b.Execute;
______________________________
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm6 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
ListBox1: TListBox;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
pr:b;
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit1,Unit8;
.........
var Addr:Pointer;
begin
Addr := @b.Execute;
evvcom (2008-03-29 17:07:00) [1]
> icWasya © (27.03.08 09:21) [2]
Если потом умело использовать, то можно :)
vl_chel (2008-03-28 09:34:00) [2]Удалено модератором
Примечание: мат
DrPass (2008-03-27 21:35:00) [3]
> Как узнать адрес процедуры в потоке, из другого модуля этой
> же программы ?
TThread.Execute, небось, еще и объявлен как protected
Это не говоря уже о
> Нельзя приводить адрес метода к простому указателю.
...и о самом главном,
> зачем это понадобилось ?
Сергей М. (2008-03-27 09:40:00) [4]
> San1712
И зачем это понадобилось ?
icWasya (2008-03-27 09:21:00) [5]Нельзя приводить адрес метода к простому указателю.
Loginov Dmitry (2008-03-27 07:45:00) [6]
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,Unit8;{Unit8 это модуль потока}
type
TOpenedThread = class(b);
TForm6 = class(TForm)
...........................
Addr := @TOpenedThread.Execute;