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.