C++ Builder - Tworzenie okien

0

Witam. Tworzę pewien projekt, napisałem na przycisk taką funkcję

void __fastcall Login::LoginClick(TObject *Sender)
{
	Client->Show();
}

Otwiera się okno ale dojdzie tu funkcja łącząca się z bazą danych i jeżeli wynik będzie prawidłowy to Client ma się otworzyć a Login zamknąć. Teraz gdy zamknę login zamyka się też client. Druga sprawa, jak zmienić skróty klawiszowe na normalne bo teraz mam ustawione takie - http://scr.hu/3dxp/8bqqc Nigdzie nie mogę znaleźć takiej opcji. Będę wdzięczny za pomoc.

0
  1. Skróty zmienisz w ustawieniach.
  2. Po prostu daj przed otwieraniem okna if-a który będzie sprawdzać jest wszystko dobrze.
0
  1. Tak tylko że tych ustawień jest mnóstwo i nie mogłem tego znaleźć ale już mam.
  2. Co to ma do tego co napisałem?
0
 
void __fastcall Login::LoginClick(TObject *Sender){
    if(sprawdzanie w mysql czy poprawnie się zalogowano) {
    Client->Show();
    Login->Close();
    }
}
0

Może nie wyraziłem się do końca jasno...
Wiem jak napisać łączenie z bazą, napisałem tylko że dojdzie tu taka funkcja

Client->Show();
Login->Close();

Zrobienie czegoś takiego otwiera clienta, login jest nadal otwarty i zamyka obydwa okna, client jest zależny od loginu i chodzi właśnie o to żeby można było zamknąć login i zostawić clienta bo jak na razie to tak nie mogę.

0

http://dev.mysql.com/downloads/connector/cpp/

Biblioteka do mysql jest bardzo popularna są nawet polskie poradniki.

Klienta i Login zrób w osobnych klasach a następnie w klasie Login wywołaj klasę klient.

0

Ale kombinujesz komponenty do łączenia z bazą obowiązkowo na DataModule później w pliku projektu zmieniasz tak aby DataModule było tworzone pierwsze (jeszcze przed formami) później forma logowania, dalej forma logowania ShowModal i w zaleznosci co zróci tworzysz formę głowną i wykonujesz Application->Run czyli coś w stylu:

//...
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                 Application->Initialize();

                 Application->CreateForm(__classid(TDataModule2), &DataModule2);
                 Application->CreateForm(__classid(TfrmLogin), &frmLogin);
                 if (frmLogin->ShowModal() == mrOK) { //ModalResult formularza ustawiasz w zależności od tego czy logowanie przebiegło pomyslnie 
                        Application->CreateForm(__classid(TfrmMain), &frmMain);
                        Application->Run();
                 }
        }
        catch (Exception &exception)
//.....

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