Nightowl Napisano Sierpień 3, 2019 Autor Zgłoś Udostępnij Napisano Sierpień 3, 2019 Pracuje w C++Builder6. Mam cos takiego, jako definicję: BOOL CALLBACK DlgProc(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) {....} następnie używam funkcji: DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hwnd1, DlgProc); Przy kompilacji wyświetla mi się error : Cannot convert int(...) oraz Type mismatch in parametr lpDialogFunc(...). Drugi mój problem ujawnia się podczas kompilacji zasobów.Jeżeli pisze: #include<windows.h>, to wyświetla mi się błąd, że nie może otwożyć tej biblioteki. Kompiluje pod dosem poleceniem brcc32. Z góry dziękuję za pomoc. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 4, 2019 Zgłoś Udostępnij Napisano Sierpień 4, 2019 DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hwnd1, &DlgProc); Ostatni parametr to musi być wskaźnik do funkcji. Co do drugiego to dobrze gdybyś dał dokładny opis błędu. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nightowl Napisano Sierpień 8, 2019 Autor Zgłoś Udostępnij Napisano Sierpień 8, 2019 Wpisałem : &, ale to nic nie dało. Podjeżewam, że jest problem z tym wskaźnikiem, poniewż jak wipszę NULL zamiast DlgProc, to dialog pojawia się, tylko, że bez obsługi. I wogule jeżeli to ma być wskaźnik, to powinienem go pierwsze zdefiniować? Jest to okno modalne więc nie zmieniałem nic w pętli komunikatów. Co do drugiego problemu to pisze okno dialogowe w pliku zasobów ("zasoby.rc") oraz dołanczam za pomocą dyrektywy #include bibliotekę <windows.h> też w pliku zasoby.rc (tak jest we wszystkich lekcjach jakie mam). Podczas kompilacji pliku zasobów, pojawia mi się error: cannot open file: windows.h . Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Surprise Napisano Sierpień 10, 2019 Zgłoś Udostępnij Napisano Sierpień 10, 2019 Witaj Coś mi się zdaje, że w twój problem tkwi teraz w tej funkcji okienkowej dla dialogbox'a. Może okienko zaraz się zamyka...ja programuje pod Devem i nie mam takiego problemu...dziwne że kompilator zwrócił ci błąd...nie musisz definiować czegoś jako wskaźnik, żeby przekazać to jako wskaźnik...dziwne przecież funkcja sama w sobie jest wskaźnikiem...ja przeważnie tę funkcję rzutuję na DLGPROC, albo wogle nic nie robię. Co do drugiego problemu to naprawdę nie wiem jak to wygląda po BC++...jedno jest pewne linker nie może odnaleźć pliku nagłówkowego windows.h...może przekopiuj ten plik do folderu gdzie jest plik cpp i wpis "windows.h"... Pozdrawiam. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nightowl Napisano Sierpień 10, 2019 Autor Zgłoś Udostępnij Napisano Sierpień 10, 2019 Zainstalowałem dev 3.8 i nie mam z tym problemu już. Wszystko chodzi jak należy. Nie wiem co jest nie tak z builderem. Ściągłem też dev 4.9, ale nie umiem go skonfigurować. Przy kompilowaniu w dev 4.9 wyskakują mi jakieś błędy odnośnie pliku crt.o. Nie wiem co to za plik. Za wszelkie wskazówki będę wdzięczny. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Shepherd Napisano Sierpień 16, 2019 Zgłoś Udostępnij Napisano Sierpień 16, 2019 Bo właśnie w tym tkwi błąd, brakuje rzutowania DLGPROC na DlgProc, tak dokońca nie wiem, po co ono jest, ale widocznie skoro to jest taka specjalna funkcja, przyjmująca komunikaty to potrzebuje to mieć Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.