Strona 1 z 1

C++ Builder XE3 i problem z TStatusBar

Nowy postNapisane: piątek, 1 lutego 2013, 05:44
przez andrus
Witam

Niedawno uaktualniłem oprogramowanie do C++ Builder XE3.
Pakiet tego kompilatora pełen jest błędów i niedopracowań.

Jako przyklad podam: nie udało mi się wyświetlić tekstów AutoHint na komponencie TStatusBar,
a jest to jedna z podstawowych funkcjonalności,
dla zbudowanego 64-bitowego programu i uruchamianego w Windows 7 64-bit.

Tak więc, jak ktoś liczy na budowanie w pełni działających aplikacji 64-bitowych to może
mieć spore problemy, bo ten przykład niesprawności, który podałem wyżej, to tylko "wierzchołek"...

A może ktoś wie jak ten problem obejść?

Pozdrawiam

Re: C++ Builder XE3 i problem z TStatusBar

Nowy postNapisane: piątek, 1 lutego 2013, 22:47
przez kwladek
U mnie działa.
void __fastcall TForm1::StatusBar1MouseEnter(TObject *Sender)
{
StatusBar1->AutoHint=1;
}

Re: C++ Builder XE3 i problem z TStatusBar

Nowy postNapisane: sobota, 2 lutego 2013, 07:25
przez andrus
kwladek - Dziękuję za poradę.

Jednak porada jest trywialna i nic nie wnosi.
Własność AutoHint=true mam na stałe ustawioną we własnościach komponentu TStatusBar.
Powtórne jej ustawianie w zadarzeniu MouseEnter jest zupełnie nadmiarowe i nie wpływa na działanie programu.

Jak zrobić test, aby uzyskać opisany wcześniej efekt:

1) Otwieramy nową aplikację (oczywiście w C++Builder XE3).
2) Na czystym formularzu kładziemy TStatusBar i TButton i w tym ostanim wpisujemy jakiś tekst w polu Hint (np. "BUTTON HINT").
3) Ustawiamy pole AutoHint=true dla TStausBar i ew. inne opcje tak, aby po zbudowaniu i uruchomieniu tej aplikacji dla wersji Win'32
i po najechaniu myszą na komponent TButton w oknie TStausBar pojawił się tekst "BUTTON HINT".
4) Ta sama aplikacja (identyczna), ale zbudowana dla środowiska Win'64 i przeniesiona na komputer z Windows 7 64-bity
nie wyświetla żadego tekstu na komponencie TStatusBar. I to jest właśnie ten problem.

Własność ta jest dla mnie bardzo ważna.
Jeżeli ktoś w identycznych warunkach uzyskał inny lub pozytywny rezultat prosił by o wiadomość.

Pozdrawiam
Andrzej

Re: C++ Builder XE3 i problem z TStatusBar

Nowy postNapisane: sobota, 2 lutego 2013, 10:51
przez kwladek
StatusBar1->ShowHint=true;//?

Re: C++ Builder XE3 i problem z TStatusBar

Nowy postNapisane: sobota, 2 lutego 2013, 13:36
przez andrus
ShowHint odpowiada za Hints pokazywane, gdy kursor myszy znajdzie się nad TStatusBar,
a nie nad dowolną kontrolką na formularzu.

Ale, dzięki za odpowiedź i szczere chęci.
Problem pozostaje w całości nie ruszony...

Re: C++ Builder XE3 i problem z TStatusBar

Nowy postNapisane: sobota, 2 lutego 2013, 13:44
przez Cyfrowy Baron
Sprawdzałeś np. czy aplikacja 32-bitowa a nie 64-bitowa stworzona w XE3, uruchomiona w systemie Win 7 64-bity ma ten sam problem? Próbuję ustalić czy problem leży w całym środowisku XE3 czy tylko w przypadku, gdy tworzysz w tym środowisku aplikacje 64-bitowe.

Re: C++ Builder XE3 i problem z TStatusBar

Nowy postNapisane: sobota, 2 lutego 2013, 14:21
przez andrus
Witam

Aplikacja 32-bitowa zbudowana na BCB XE3 na komputerze z Win'7 32-bitowym
działa poprawnie (oczywiście chodzi o funkcję AutoHint komponentu TStatusBar) na tymże komputerze,
a także na PC z zainstalowanym Win'7 64-bity.

Wiem także skądinąd (nie jestem tego pewien, bo tak mi ktoś napisał ), że ta sama 64-bitowa aplikacja
pokazuje poprawnie AutoHints, ale na komputerze z Win'8 64-bit.

W załączniku umieściłem gotowy project dla BCB XE3 jakby ktoś zechciał spróbować przetestować ww. problem.
STATUSBAR.ZIP


Pozdrawiam