Może po kolei:
Co do zmiennej: Zmieniłem jej nazwę na "AnyVar" żeby mi z niczym nie kolidowała,
jest zadeklarowana w głównym kodzie na początku programu (przed sekcją Setup) jako:
Potem w sekcji Setup jest:
Kod sam pisałem na bazie WebInterface. Póki co, chcę wyeliminować te błędy.
Readonly.h jest w folderze "Include" - chyba tam ma być?
Przy kompilacji dostaję TYLKO taki błąd dot. deklaracji zmiennej. Nie zgłasza błędów dot. Readonly.h. Po usunięciu Raedonly.h z okna edytora VSC, w drzewie projektu, przy pliku Readonly.h widać tylko czerwoną "1" - czyli w sumie tylko chodzi o tę zmienną, a reszta wydaje się być ok.
Code: Select all
YEL:
In file included from /Volumes/HD2/!!-Szkice/PIO/1-Zapad2408/src/ZAP-240819-1730.ino:71:
include/readonly.h: In member function 'virtual void Supla::Html::ReadOnly::send(Supla::WebSender*)':
RED:
include/readonly.h:17:18: error: 'AnyVar' was not declared in this scope
sender->send(AnyVar);
^~~~~~
YEL:
/Volumes/HD2/!!-Szkice/PIO/1-Zapad2408/src/ZAP-240819-1730.ino: At global scope:
/Volumes/HD2/!!-Szkice/PIO/1-Zapad2408/src/ZAP-240819-1730.ino:161:27: warning: 'AnyVar' initialized and declared 'extern'
extern char* AnyVar[] = {};
^
Czyli może pytanie się sprowadza do tego, jak poprawnie zadeklarować i przekazać zmienną do Readonly.h?
I reszta - poniżej - nie ma znaczenia?
Pobrałem z GH SD2408 i zrobiłem nowy folder z tym SD2408, (na wszelki wypadek - poprzednio miałem 2312).
Widzę w folderach SD, że "html_element.h" jest w /supla/network, a deklaracje:
Code: Select all
namespace Supla {
namespace Html {
chcą lokować html.element.h w /supla/html/ - czy to ma znaczenie?
Skopiowałem html_element.h i *.cpp do /supla/html, ale niczego to nie zmieniło, dalej podkreśla brakujący HtmlElement w linii 7:
KOMENTARZ: przestrzeń nazw "Supla" nie ma klasy składowej "HtmlElement"
Code: Select all
7: class ReadOnly : public Supla::HtmlElement {
Poniżej, w linii 9: ponownie podkreśla HtmlElement:
KOMENTARZ: element "HtmlElement" nie jest niestatycznym elementem członkowskim danych ani klasą bazową klasy "Supla::Network::ReadOnly"
Code: Select all
9: ReadOnly() : HtmlElement(HTML_SECTION_FORM) {}
i dalej w linii 11: podkreśla WebSender informując, że:
KOMENTARZ: element przestrzeń nazw "Supla" nie ma składowej "WebSender"
Code: Select all
11: void send(Supla::WebSender* sender) {