VCL bez formy

0

Czy ktoś mógłby podać szkielet programu w BCB bez formy? Chciałbym normalnie korzystać z komponentów (socketów), ale co chwila trafiam na problem - (_closure) w Eventach (nie wiem jak zapisać definicję takiej funkcji), jak zrobić pętlę główną, co zrobić żeby były przetwarzane eventy (ProcessMessages?) itp itd.

0

Albo zrob sobie aplikacje okienkowa i nie pokazuj glownej formy albo nie rob aplikacji okienkowej, tylko konsolowa.

0
  1. Jak nie pokazywać formy?
  2. W konsolowej będą miał konsolę, co też mi nie odpowiada. Za to nie rozwiąże to problemów z eventami.
0
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                 Application->Initialize();
                 Application->CreateForm(__classid(TForm1), &Form1);
                 Application->ShowMainForm = false;// <<==============|
                 Application->Run();
        }
        catch (Exception &exception)
        {
                 Application->ShowException(&exception);
        }
        catch (...)
        {
                 try
                 {
                         throw Exception("");
                 }
                 catch (Exception &exception)
                 {
                         Application->ShowException(&exception);
                 }
        }
        return 0;
}
0

a moze on chce bez t form to p prostu usun linijke z createform /

0
... napisał(a)

a moze on chce bez t form to p prostu usun linijke z createform /
Fajnie, to akurat umiem. Tylko miałem problem z eventami. Ale schowanie formy też będzie ok.

0

piszesz zwykłą funkcję (metode w zasadzie) i przypisujesz ją do zdarzenia

0

No właśnie się dowiaduję że to _closure oznacza metodę...

PS. A Owner w konstruktorze komponentu to pies? Kolejna przeszkoda. Wolę już schować tą formę i mieć spokój.

0

Patrząc z perspektywy czasu na ten VCL, WinForms(C#) czy inne takie biblioteki, i posty z nimi związane stwierdzam, że nie ma gorszej rzeczy niż nauczyć się od początku VCLa czy WinForms nie mając pojęcia np. o tym co to jest pętla komunikatów czy w ogóle WinAPI ... Byle kto dorwie się do C# walnie buttona tu i tam, w kodzie 1000 niepotrzebnych linii się wykonuje, ale co tam - ważne, że działa.
Nie jest to bynajmniej aluzja do autora, tylko taka sobie myśl. Nie jestem też przeciwny pisaniu w VCL, czy w C#, ale uważam, że w większości przypadków nauka programowania powinna się zaczynać od innej strony.

0

szczepanos, o winapi co nieco wiem. Wiem mniej więcej jakimi prawami się rządzi, ale bez absolutnej konieczności nie napisałbym programu w czystym winapi. Natomiast takie akcje jak program bez formy ale z komponentami w VCL to już ostre kombinowanie - wszystkie główne struktury winapi są zaszyte gdzieś w bibliotece.

Za to co do myśli to zgadzam się w zupełności - powinno się mieć wiedzę na temat tego, o powstanie z kodu na niższych poziomach - chociaż podstawy od bibliotek kompilatorów do elektroniki. Ale zaczynanie programowania od winapi to zły pomysł - żyjemy w czasach, gdzie bardziej niż wydajność programu liczy się czas programisty. A programista uczący się od najniższych poziomów szybko się zniecierpliwi.

0

Dla mnie zaczynanie nauki od asemblera to może być zły pomysł(chociaż i to ma swoje duże zalety), ale od winapi - dlaczego nie. Nie mówię, żeby w nim pisać jakieś wielkie aplikacje... Co do czasów jakie teraz mamy, to niestety tak jak mówisz - wszystko postwione na szybkość. Niestety często kosztem umiejętności programistów i jakości oprogramowania ;(

1 użytkowników online, w tym zalogowanych: 0, gości: 1