Главная страница
    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-80884
VlNek
2002-04-11 08:58
2002.04.25
Имя компонента как переменнная


1-80910
Chainik
2002-04-15 10:43
2002.04.25
Функциональные клавиши


1-80898
Candyras
2002-04-15 00:15
2002.04.25
Вот такая проблемка...


1-80886
Beginner
2002-04-14 03:31
2002.04.25
Вывод real чисел на экран


1-80855
nerom
2002-04-12 15:07
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский