list.h "nie widzi" scrollbar.h

list.h "nie widzi" scrollbar.h
gswidwa
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 lat
  • Postów:839
0

Witam. Moglibyście mi wytłumaczyć, dlaczego w pliku wh_List.h nie widać struktury znajdującej się w pliku wh_vscrollbar.h?
main.h:
1645a82ef9.png
wh_GDI.h (tutaj wczytuję wszystkie kontrolki)
ffb549e1ca.png
wh_vscrollbar.h
2adb375090.png
wh_List.h
09f51e857e.png
Tu w wh_list nie widzi mi strukury, nie mam pojęcia czemu : /

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 9 godzin
4

main wciąga wh_GDI,
wh_GDI wciąga wh_vscrollbar,
wh_vscrollbar wciąga wh_list,
wh_list wciąga wh_gdi które przepada na strażniku (ifndef), struktura nie jest definiowana, następnie jest błąd w wh_list.

gswidwa
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 lat
  • Postów:839
0
Kopiuj
#ifndef BUTTON_ZDEFIONIOWANY
#define BUTTON_ZDEFIONIOWANY 1

#include <windows.h>
#include <iostream>
#include <conio.h>
#include <cmath>
#include <stdio.h>
#include <string>
#include <vector>
#include <stdlib.h>
#include "WH_GDI.h"

wh_Button.h tez wciąga wh_gdi, a jednak działa i mogę go używać w wh_List, to samo wh_checkbox.h. Macie pomysł, jak to rozwiązać?

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 9 godzin
1

Jednym z rozwiązań jest wyrzucić wh_gdi z wh_vscrollbar i wh_list, a inkludować tylko to, co naprawdę potrzebne.

Generalna zasada, to że jeśli A.h wciąga B.h, to B.h nie powinno wciągać A.h.

U ciebie jest ten błąd w wh_gdi vs wh_vscrollbar i w wh_gdi vs wh_list.

edytowany 1x, ostatnio: Azarien
gswidwa
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 lat
  • Postów:839
0

To w takim razie jak w main.h mam

Kopiuj
#include "WH_GDI.h 

to nigdzie indziej już nie powinienem nic wciągać? Bo każdy z plików używa:

Kopiuj
#include "wh_operacje_na_uchwytach.h"
#include "wh_grafika.h"
#include "wh_operacje_na_tekscie.h" 

Zastanawia mnie tylko, dlaczeo akurat przy wh_List wyskoczył mi błąd a nigdzie indziej nie :O

gswidwa
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 lat
  • Postów:839
0

@Azarien mógłbyś mi wytłumaczyć, dlaczego

Kopiuj
LIST(_LISTDRAW myListDrawFunc, _LISTUPDATE myListUppdateFunc, sVSCROLLBAR &newVsb); 

pokazywało błąd, a

Kopiuj
LIST(_LISTDRAW myListDrawFunc, _LISTUPDATE myListUppdateFunc, struct sVSCROLLBAR &newVsb); 

naprawiło problem? Spojrzałem na inne kontrolki i tak właśnie mam tam porobione.

kq
kompilujesz w C?
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 dni
2
Kopiuj
struct sVSCROLLBAR;

przed tym wierszem też naprawi problem.
Deklaracja LIST(_LISTDRAW myListDrawFunc, _LISTUPDATE myListUppdateFunc, struct sVSCROLLBAR &newVsb); robi obie rzeczy na raz.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
gswidwa
Już wygooglowałem co i jak, w ogóle tak patrzę i w kodzie mam źle skonstruowane kontrolki. (niby działa super, ale można to zrobić lepiej)...
_13th_Dragon
Skoro to widzisz to już istotny progres :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.