SpeedButton - dziwne zachowanie po akcji OnClick

problemy z funkcjonowaniem bibliotek, komponentów itp.

SpeedButton - dziwne zachowanie po akcji OnClick

Nowy postprzez JarTSW » niedziela, 9 stycznia 2011, 18:34

Witajcie ponownie.
Mam problem z komponentem o nazwie SpeedButton. Mianowicie nadaje mu jakiś tam obrazek (bitmapa). Następnie dodaje do swojego programu komponent o nazwie OpenDialog. W akcji OnClick SpeedButtona ustawiam:
Kod: Zaznacz cały
if(OpenDialog1->Execute())
     ShowMessage(OpenDialog1->FileName);

(chodzi mi po prostu o ścieżkę otwartego przez OpenDialog pliku)
jednak po kliknięciu przycisk dziwnie się zachowuje. Mianowicie pojawia się kursor że system probuje cos zrobic, potem SpeedButton znika, otwiera sie OpenDialog, wybieram plik i wyswietla mi sie ścieżka prawidłowo. W czym tkwi problem, w tym dziwnym zachowaniu SpeedButtona?
ProszÄ™ o rady.
Avatar użytkownika
JarTSW
Bladawiec
Bladawiec
 
Posty: 10
Dołączył(a): piątek, 7 stycznia 2011, 20:38
PodziÄ™kowaÅ‚ : 6
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Vista
Kompilator: C++ Builder 6
Gadu Gadu: 0
    Windows VistaFirefox

Re: SpeedButton - dziwne zachowanie po akcji OnClick

Nowy postprzez Cyfrowy Baron » niedziela, 9 stycznia 2011, 19:28

Najpewniej problem tkwi w systemie Vista, lub konkretnie w Twoim systemie. Sprawdź zachowanie tego programu na innym komputerze i to najlepiej z innym systemem XP lub 7.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: SpeedButton - dziwne zachowanie po akcji OnClick

Nowy postprzez JarTSW » niedziela, 9 stycznia 2011, 20:09

SprawdzÄ™ jeszcze na innym systemie.
A nie ma jakiegoś alternatywnego wyjścia?
W sensie chodzi mi o pobranie nazwy(a właściwie to ścieżki) z dysku, a następnie wrzucam samą nazwę/ścieżkę to pewnej funkcji, która mi tam coś z tym plikiem zrobi.

edit: pod XP działa ok, a czy nie da się coś zrobić, żeby działało pod Vistą?...
Avatar użytkownika
JarTSW
Bladawiec
Bladawiec
 
Posty: 10
Dołączył(a): piątek, 7 stycznia 2011, 20:38
PodziÄ™kowaÅ‚ : 6
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Vista
Kompilator: C++ Builder 6
Gadu Gadu: 0
    Windows VistaFirefox

Re: SpeedButton - dziwne zachowanie po akcji OnClick

Nowy postprzez Cyfrowy Baron » niedziela, 9 stycznia 2011, 22:02

edit: pod XP działa ok, a czy nie da się coś zrobić, żeby działało pod Vistą?...


Środowisko C++Builder 6 nie jest w pełni zgodne z Vista, ani Windows 7, nie jest nawet do końca zgodne z WinXP i pewnie stąd te problemy. Klasa TSpeedButton nie jest chyba elementem interfejsu API i być może to wywołuje problemu. Możliwe jest też, że ustawiłeś temu komponentowi właściwość Flat na true i przez brak zgodności z systemem wywołuje to takie problemy. Jeżeli ustawiłeś właściwość Flat na true, to zmień to i sprawdź czy nadal występują problemy. Użyj komponentu BitBtn, jeżeli nadasz mu rozmiary takie jak ma SpeedButton, to będzie go przypominał.
Sprawdź na innym komputerze z Vista, czy ten problem również występuje, być może masz jakieś błędy w swoim systemie. Vista to wyjątkowo toporny i nieprzyjazny użytkownikowi system, więc wszystko może się w nim zdarzyć.

W sensie chodzi mi o pobranie nazwy(a właściwie to ścieżki) z dysku, a następnie wrzucam samą nazwę/ścieżkę to pewnej funkcji, która mi tam coś z tym plikiem zrobi.


Jak Ty to widzisz? Skąd chcesz pobrać tą ścieżkę dostępu, jeżeli nie wyświetlisz żadnego okna dialogowego?
Poza tym to nie OpenDialog wywołuje problem, lecz SpeedButton zachowuje się nieprawidłowo. Powinieneś więc skupić uwagę na SpeedButton.

Trudno będzie Tobie stworzyć aplikację zgodną z Vista i Win7 w środowisku C++Builder 6.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: SpeedButton - dziwne zachowanie po akcji OnClick

Nowy postprzez mate006 » wtorek, 18 stycznia 2011, 21:29

Ja się z tym nie zgadzam, ja używam speedbuttony na win 7 i C++ Builder 6 i działa idealnie, nawet ustawienie właściwości FLAT na true działa prawidłowo, może po prostu błędy wywołuje sam system Vista - dziadostwo jedne.
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
PodziÄ™kowaÅ‚ : 7
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

Re: SpeedButton - dziwne zachowanie po akcji OnClick

Nowy postprzez Cyfrowy Baron » wtorek, 18 stycznia 2011, 21:39

Samo środowisko działa prawidłowo, ale niektóre kontrolki już nie wyglądają jak powinny a SpeedButton do nich właśnie należy. Używałem środowiska C++Builder 6 w systemie Windows XP i wszystko wydawało mi się w porządku, do wyglądu kontrolek też się przyzwyczaiłem. Pierwsze różnice w wyglądzie i zachowaniu kontrolek zauważyłem po przejściu na C++Builder 2006, a prawdziwa rewolucja zaczęła się w środowisku C++Builder 2010. Nie masz porównania stąd wydaje się Tobie, że wszystko działa jak powinno, ale tak nie jest.
Zgadzam się co do tego, że Vista to bubel i prawdopodobnie problem ze SpeedButton występuje z winy Visty, nie zmienia to jednak faktu, że do środowiska C++Builder 2009 kontrolka SpeedButton ma wygląd nieprawidłowy, no chyba, że myli mi się z kontrolką BitBtn. Teraz już nie jestem pewien.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


Powrót do Biblioteki i komponenty

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 8 gości

cron