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

Вниз

Вопрос, наверно, по основам. Создаю приложение без формы...   Найти похожие ветки 

 
Fredericco   (2002-04-11 10:36) [0]

Код юнита:

unit Ulc;

interface
uses
ExtCtrls, ScktComp,Dialogs;

type
TF=class(TObject)
ClientSocket1: TClientSocket;
Timer1: TTimer;
procedure Creat();
procedure Tmr(Sender: TObject);
procedure DisCon(Sender: TObject;
Socket: TCustomWinSocket);
end;

var
F:TF;
implementation


procedure TF.Creat();
begin
ShowMessage("Работает");
ClientSocket1:=TClientSocket.Create(nil);
Timer1:=TTimer.Create(nil);
ClientSocket1.Host:="localhost";
ClientSocket1.Port:=20000;
ClientSocket1.OnDisconnect:=DisCon;
Timer1.OnTimer:=Tmr;
end;

procedure TF.DisCon(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket1.Free;
Timer1.Free;
F.Free
end;

procedure TF.Tmr(Sender: TObject);
begin
if ClientSocket1.Active=True then ClientSocket1.Socket.SendText("aa");
end;


end.

Код программы:

program Prlc;

uses
Forms,
Ulc in "Ulc.pas";

{$R *.RES}

begin
Application.Initialize;
Application.Run;
end.

Вообщем цель программы вы уже наверно поняли, только вот как сделать чтобы все это работало? ShowMessage в юните не всплывает и когда я нажимаю Run программа открывается и тут же закрывается :-(
Заранее благодарен.


 
Fredericco   (2002-04-11 10:38) [1]

Совсем забыл. В юните в процедуре TF.Creat есть еще строка F:=TF.Create;


 
Anatoly Podgoretsky   (2002-04-11 10:46) [2]

procedure TF.Creat(); это наверно очепятка, надо .Create;

Fredericco © (11.04.02 10:38)
Где эта строка и когда вызывается?


 
Fredericco   (2002-04-11 11:08) [3]

Anatoly Podgoretsky >> Привожу пример юнита с поправками:

unit Ulc;

interface
uses
ExtCtrls, ScktComp,Dialogs;

type
TF=class(TObject)
ClientSocket1: TClientSocket;
Timer1: TTimer;
constructor Create();
procedure Tmr(Sender: TObject);
procedure DisCon(Sender: TObject;
Socket: TCustomWinSocket);
end;

var
F:TF;
implementation


constructor TF.Create();
begin
ShowMessage("Работает");
F:=TF.Create;
ClientSocket1:=TClientSocket.Create(nil);
Timer1:=TTimer.Create(nil);
ClientSocket1.Host:="localhost";
ClientSocket1.Port:=20000;
ClientSocket1.OnDisconnect:=DisCon;
Timer1.OnTimer:=Tmr;
end;

procedure TF.DisCon(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket1.Free;
Timer1.Free;
F.Free
end;

procedure TF.Tmr(Sender: TObject);
begin
if ClientSocket1.Active=True then ClientSocket1.Socket.SendText("aa");
end;


end.


 
SVM   (2002-04-11 12:23) [4]

Организуй вместо Application.Run цикл сообщений. Или создай главное окно.


 
Anatoly Podgoretsky   (2002-04-11 12:29) [5]

Тебе что стека не жалко, ты же пытаешь рекурсивно сам себя создавать

constructor TF.Create();
begin
ShowMessage("Работает");
F:=TF.Create;

Тебя спасло только то, что ты нигде не создал первого экземпляра объета. Создавать нужно до run


 
Fredericco   (2002-04-11 12:57) [6]

Anatoly Podgoretsky >> Все понял, кроме одного, что писать до строчки

Application.Run;

?


 
Fredericco   (2002-04-11 12:58) [7]

SVM >> Как раз окно-то мне и ненужно. А что такое цикл сообщений?


 
Anatoly Podgoretsky   (2002-04-11 13:06) [8]

Объект надо создать, он у тебя нигде не создается.


 
Fredericco   (2002-04-11 13:22) [9]

Anatoly Podgoretsky >> F:=TF.Create; не создает?



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

Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.023 c
1-80872
NewOne
2002-04-11 17:16
2002.04.25
ServicePack`s


14-81044
Виктор Щербаков
2002-03-19 13:44
2002.04.25
Константные выражения


3-80818
Georg
2002-04-05 12:13
2002.04.25
Уважаемые, помогите чайнику с запросом, плз...


1-80891
hooky-mars
2002-04-14 16:50
2002.04.25
Текстовый Фаил


14-81053
Kozhanov
2002-03-19 15:06
2002.04.25
IMHO ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский