Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI] Początek przygody

Ostatnio zmodyfikowano 2014-03-21 19:54
Autor Wiadomość
jmaciejjjj7
Temat założony przez niniejszego użytkownika
[WinAPI] Początek przygody
» 2014-03-19 17:07:01
Witam,
Na podstawie kursu napisałem pierwszy program w WinAPI, który miał stworzyć okno, a w razie niepowodzenia wyświetlić komunikat. Mam jednak problem z linijką
okno.lpfnWndProc = WndProc;
. Jak WNDPROC wpisze wielkimi literami, to mam błąd, że niedozwilone jest użycie tego typu jako wyrażenia, a jak wpisze WndProc (tak było w kursie) to błąd, że niezdeklarowany identyfikator. Pomoc mile widziana :)
P-106792
Moorfox
» 2014-03-19 17:16:52
Masz definicje funkcji powyżej tego przypisania ? Czyli

 typ WndProc(argumenty);  <--- TO

Int WinAPI(Inte...)

typ WndProc(argumenty)
{
switch()

}

? definicja musi być przed przypisaniem a ciało możesz dać później ponieważ kompilator musi widzieć, że istnieje taka funkcja

czyli robisz zawsze tak:

//Interfejs

int metoda(int a);

int main()
{
metoda(6);
return 0;
}

int metoda(int a)
{
return 2*6
}

Na przykład

EDIT:
Po za tym jakbym zrobil do tego int METODA(int a);
to METODA i metoda to dwie rozne funkcje wielkosc liter ma znaczenie
A tam masz procedure o nazwie WndProc to nie to samo co WNDPROC jesli to jest twoj problem
to radze wrocic do podstaw a nie bawic sie WinAPI
P-106794
jmaciejjjj7
Temat założony przez niniejszego użytkownika
» 2014-03-20 15:27:27
Dzięki za odpowiedź. Definicji rzeczywiście nie było. Ten błąd wynika raczej z tego, że dopiero zaczynam uczyć się w WinAPI i pierwszej lekcji jeszcze do końca nie doczytałem. Dziecko jak się uczy jeździć na rowerze to zanim się dobrze nauczy to parę razy się wywali. Teraz wyskoczył mi błąd linkera i jak nie uda mi się z nim rozprawić samemu wrzucę log kompilacji.
EDIT:
1>------ Kompilacja rozpoczęta: ProjektWinApi nauka, KonfiguracjaDebug Win32 ------
1>  Źródło.cpp
1>c:\users\maciek\documents\visual studio 2013\projects\winapi nauka\winapi nauka\źródło.cpp(23): warning C4800: "HWND": wymuszanie wartości logicznej "true" lub "false" (ostrzeżenie wydajności)
1>Źródło.obj : error LNK2019: unresolved external symbol "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) referenced in function _WinMain@16
1>C:\Users\Maciek\documents\visual studio 2013\Projects\WinApi nauka\Debug\WinApi nauka.exe : fatal error LNK1120: 1 unresolved externals
========== Kompilacja: 0 zakończono powodzeniem, 1 zakończono niepowodzeniem, 0 zaktualizowano, 0 pominięto ==========
P-106842
pekfos
» 2014-03-20 17:23:08
Masz definicję procedury okna..?
P-106848
jmaciejjjj7
Temat założony przez niniejszego użytkownika
» 2014-03-20 17:59:22
Okno już jest, tylko zamiast polskiej nazwy coś takiego:
Okno
Okno
P-106852
Moorfox
» 2014-03-21 19:54:12
Jakbyś skopiował source code i wkleiłbyś go tu to może ktoś by ci pomógł.
EDIT:
Po twoim spostrzeżeniu na temat dziecka i roweru teraz ja odpowiem dziwnym (bardzo dziwnym) spostrzeżeniem:
Zanim dziecko będzie mogło nauczyć się jeździć na rowerze, powinno się najpierw nauczyć chodzić.
Jeśli WINapi to rower to dla mnie ty nie umiesz chodzić :P. Więc wróć do czystego C++
P.S. Ale to nerdowskie

P-106947
« 1 »
  Strona 1 z 1