Главная страница
    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.005 c
1-80870
Di_wind
2002-04-14 00:22
2002.04.25
си++ Шаблон.


4-81118
SerVS - S
2002-01-29 14:13
2002.04.25
Как используя API выключить ActiveDesktop


3-80751
kirill2000
2002-04-03 23:35
2002.04.25
Сохранение в файл


3-80799
Марина
2002-04-05 09:11
2002.04.25
Table is busy.User:???


7-81094
Lord BDV
2002-01-28 20:37
2002.04.25
Работа со шрифтами





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