Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Вниз

Просмотр в Инсп. Объектов и доступ к событиям вложеных классов   Найти похожие ветки 

 
undefined   (2005-04-21 16:22) [0]

Здавствуйте мастера. В моем классе объявлены свойства типа других классов.
И в Инспект. объектов потом можно просмотреть не только свойсва моего класса, но и свойства вложенных классов.
А вот события вложенных классов не видно.
Как сделать их видимим, или хотя бы как на них реагировать.
ЗЫ. Создаю вложенные объекты на своем объекте.


 
Venom Spawn ©   (2005-04-21 16:32) [1]

Можно сделать события-обёртки в твоём компоненте вокруг событий вложенных объектов. Можно вытащить твои вложенные объекты и сделать из них обычные компоненты, связав через какое-нибудь дополнительное свойство с исходным компонентом.


 
Юрий Зотов ©   (2005-04-21 16:39) [2]

Если все сделано верно, то в D7все должно быть и так  видно.

Приведите объявление класса, который используется как свойство, и класса, содержащего это свойство.


 
Shc ©   (2005-04-21 16:49) [3]

ОБертку писать просто не интерестно, +то по-моему не метод.
Вытаскивать их на форму (делать родителем Оунера) тоже немножко не то, оснавная задача и заключалась в том, чтобы все запихнуть в одну компоненту.
Тест объявления такой:
 TNetGameSocks = class(TComponent)
 private
   FtcpServer: TIdTCPServer;
   FTCPClient: TIdTCPClient;
   FIdThreadMgr: TIdThreadMgrDefault;
   FIdAntiFreeze: TIdAntiFreeze;
   FClients: TList;
   FClientsList: TStringList;
   FclThread: TclThread;
   FOnRecivedMsg: TTCPClientEvent;
   procedure tcpServerConnect(AThread: TIdPeerThread);
   procedure tcpServerDisconnect(AThread: TIdPeerThread);
   procedure tcpServerExecute(AThread: TIdPeerThread);
   procedure BroadcastMessage(WhoFrom, TheMessage: String );

   procedure SettcpServer(const Value: TIdTCPServer);
   procedure SetTCPClient(const Value: TIdTCPClient);
   procedure SetClientsList(const Value: TStringList);
   procedure TCPClientDisconnected(Sender: TObject);
   procedure TCPClientConnected(Sender: TObject);

 protected

 public
   ClInfo: ClientInfo;
   procedure StartServer(Port: word= 0);
   procedure StopServer;
   procedure StartClient(IP: string; Port: Integer; Clname, ID: string);
   procedure StopClient;
   procedure SysMsg(msg: string; AThread: TIdPeerThread); virtual;
   procedure SendClientMsg(msg: string);

   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 published
   property tcpServer: TIdTCPServer read FtcpServer write SettcpServer;
   property TCPClient: TIdTCPClient read FTCPClient write SetTCPClient;
   property ClientsList: TStringList read FClientsList write SetClientsList;
   property OnRecivedMsg: TTCPClientEvent read FOnRecivedMsg write FOnRecivedMsg;
 end;

constructor TNetGameSocks.Create;
begin
 inherited;
   FtcpServer:= TIdTCPServer.Create(Self);
   FTCPClient:= TIdTCPClient.Create(Self);
   FIdThreadMgr:= TIdThreadMgrDefault.Create(Self);
   FIdAntiFreeze:= TIdAntiFreeze.Create(Self);
   FClients:= TList.Create;
   fClientsList:= TStringList.Create;
   FtcpServer.ThreadMgr:= FIdThreadMgr;
   FtcpServer.DefaultPort:= 4312;
   FtcpServer.OnConnect:= tcpServerConnect;
   FtcpServer.OnExecute:= tcpServerExecute;
   FtcpServer.OnDisconnect:= tcpServerDisconnect;
   FTCPClient.Port:= 4312;
   FTCPClient.host:="127.0.0.1";
   FTCPClient.OnConnected:= TCPClientConnected;
   FTCPClient.OnDisconnected:= TCPClientDisconnected;
end;


 
Юрий Зотов ©   (2005-04-21 17:19) [4]

FtcpServer:= TIdTCPServer.Create(Self);
FtcpServer.SetSubComponent(True);

И так для всех внутренних компонентов, чьи свойства и события Вы хотите видеть в Инспкторе Объектов.


 
Shc ©   (2005-04-22 16:14) [5]

2 Юрий Зотов Спасибо



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

Форум: "Компоненты";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
14-1131561267
ArtemESC
2005-11-09 21:34
2005.12.04
Зашифрованный диск...


10-1108540611
Карелин Артем
2005-02-16 10:56
2005.12.04
Как получить GUID объекта Automation?


14-1130325473
Сергей1981
2005-10-26 15:17
2005.12.04
Чтение файлов MSWord


3-1129836987
lra
2005-10-20 23:36
2005.12.04
выборка заданного количества записей с помощью sql-запроса


2-1131547986
MakNik
2005-11-09 17:53
2005.12.04
Round





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский