Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Aplikacija bez forme i problem prilikom postavljanja Event Handlera

[es] :: Pascal / Delphi / Kylix :: Aplikacija bez forme i problem prilikom postavljanja Event Handlera

[ Pregleda: 2466 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

anon68680

Član broj: 68680
Poruke: 528
91.150.101.*



+14 Profil

icon Aplikacija bez forme i problem prilikom postavljanja Event Handlera30.07.2007. u 10:28 - pre 203 meseci
Dakle potrebna mi je sto manja aplikacija, a da bih to izveo moram pre svega da izbacim Forms unit. Posto ne mogu jednostavno da ga izbacim iz uses clause sklonio sam ceo unit.pas i koristim Project1.dpr fajl za pisanje coda.
Da bi program ostao aktivan i po zavrsetku svih komandi ubacio sam while loop sa GetMessage() i sve to izgleda ovako nekako:

Code:

program Project1;

uses
  Windows;

var
  clsocket: TClientSocket;

{$R *.res}

begin

  while GetMessage(Msg,0,0,0) do
   begin
    TranslateMessage(Msg);
    DispatchMessage(Msg);
   end;
end.


Napravio sam svoju classu kako bih mogao da definisem svoje event handlere. Potrebni su mi handleri za TClientSocket ili TidIRC (jos razmisljam o ovome, ali i nije mnogo bitno za moj trenutni problem). Sve je to izgledalo ovako:

Code:

program Project1;

uses
  Windows,
  ScktComp;

  type
   TClsocket = class(TClientSocket)
   procedure onWrite2(Sender: TObject; Socket: TCustomWinSocket);
   end;

var
  Msg: Tmsg;
  clsocket: TClientSocket;

{$R *.res}

procedure TClsocket.onWrite2(Sender: TObject; Socket: TCustomWinSocket);
begin
{wirte stuff... nebitno }
end;

begin
TClsocket.Create(clsocket);
clsocket.OnWrite:=TClsocket.onwrite2; >>>>> ovde se javlja error tipa, Incompatible types TSocketNotifyEvent and procedure
  while GetMessage(Msg,0,0,0) do
   begin
    TranslateMessage(Msg);
    DispatchMessage(Msg);
   end;
end.


Gde sam pogresio? Ne kapiram bas najbolje ovo sa classama..
 
Odgovor na temu

NemesisMMX
Beograd

Član broj: 152324
Poruke: 28
89.216.213.*

Sajt: www.designbuildersoftware..


Profil

icon Re: Aplikacija bez forme i problem prilikom postavljanja Event Handlera30.07.2007. u 11:06 - pre 203 meseci
Mislim da ne treba da nasledjujes svoju klasu iz TClientSocket vac da clentsocket bude filed tvoje klase.
U konstruktoru moras da kreiras instancu i da napravis povezivanje.
Onda napravis instancu svoje klase u kodu aplikacije:

type
TClsocket = class
procedure onWrite2(Sender: TObject; Socket: TCustomWinSocket);
FClient : TClientSocet;
end;

procedure TClsocket.onWrite2(Sender: TObject; Socket: TCustomWinSocket);
begin
{wirte stuff... nebitno }
end;

constructor TClSocket.Create;
begin
CLient := TClientSocket.Create(Application);
Client.OnWrite := onWrite2;
end;

begin
clsocket := TClsocket.Create(aplication);
end;
 
Odgovor na temu

anon68680

Član broj: 68680
Poruke: 528
91.150.101.*



+14 Profil

icon Re: Aplikacija bez forme i problem prilikom postavljanja Event Handlera31.07.2007. u 10:06 - pre 203 meseci
zar ne treba i constructor gore da se definise? A i brljavi mi sa .Create.. valjda zato sto ne koristim nikakve unite.
 
Odgovor na temu

NemesisMMX
Beograd

Član broj: 152324
Poruke: 28
89.216.213.*

Sajt: www.designbuildersoftware..


Profil

icon Re: Aplikacija bez forme i problem prilikom postavljanja Event Handlera31.07.2007. u 10:19 - pre 203 meseci
Da,
type
TClsocket = class
procedure onWrite2(Sender: TObject; Socket: TCustomWinSocket);
FClient : TClientSocet;
Constructor Create;
end;

zaboravio sam.
Kako ti brljavi sa Create? Jel mozes malo detaljnije da objasnis?
Ja sam stavio da je owner application. Application je definisan u forms unitu tako da ako neces da koristis forms jednostavno umesto application koristi nil.
I nemoj da zaboravis da unistis objekte pri izlasku iz aplikacije.
Takodje mi nije jasno zasto ne koristis unite.
Ne mora svaki unit da ima formu.
Jednostavno izaberes New->Unit.
Izbaci forms iz uses klauzule kad ga vec ne koristis i to je to.
 
Odgovor na temu

staleks
Aleksandar Stoisavljevic
Java Technical Team Leader
Novi Sad

Član broj: 10869
Poruke: 59
...vl-edge-dnevnik.neobee.net.

Sajt: www.staleksit.in.rs


+1 Profil

icon Re: Aplikacija bez forme i problem prilikom postavljanja Event Handlera31.07.2007. u 12:57 - pre 203 meseci
A zbog cega uopste onda pocinjes da pravis projekat kao WinApplication ? Zasto jednostavno ne pravis obicnu Console app. ?

Onda nemas potrebe da izbacujes forme, nego po potrebi dodajes unit-e koji tebi odgovaraju.

Pozdrav
 
Odgovor na temu

anon68680

Član broj: 68680
Poruke: 528
77.46.199.*



+14 Profil

icon Re: Aplikacija bez forme i problem prilikom postavljanja Event Handlera01.08.2007. u 22:30 - pre 203 meseci
.Create brljavi u smislu da kaze: Unknown function ili tako nesto.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Aplikacija bez forme i problem prilikom postavljanja Event Handlera

[ Pregleda: 2466 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.