| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| C++ builder споделяне на променливи http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=15243 |
Страница 1 от 3 |
| Автор: | slav4o.com [ Вто Май 09, 2017 1:43 pm ] |
| Заглавие: | C++ builder споделяне на променливи |
Имам една програма със 2 форми Form1 и Form2. Имам и променлива unsigned char variable1 декларирана във Unit1.cpp (където се пишат кодовете на Form1) . Когато я променям от Unit1.cpp си се променя, но когато реша да я променям от Unit2.cpp не ще да я променя. Но пък я открива, не ми дава грешка, че няма такава. |
|
| Автор: | Цецо [ Вто Май 09, 2017 3:39 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
Ми така е, като се учи език за програмиране посредство уизърди. На обектите им викат форми, не знаят що е то област на видимост на променлива... Най - просто ( и най-грозно ) е да декларираш някъде една глобална променлива и да я мажеш от където ти падне. Ще питаш как - ами с уизърд не знам как става |
|
| Автор: | slav4o.com [ Вто Май 09, 2017 5:17 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
Ами декларирах една глобална променлива variable1 в хедъра Unit1.h . Излиза ми като Form1->variable1 . Когато напиша Form1->Variable1 = 1; // във Unit1.cpp всичко работи. Когато го напиша във Unit2cpp се компилира пак. Но когато пусна програмата ми и натисна бутона във Form2 който прави Form1->Variable1 = 1; ми дава грешка "Access violation at address 00403785 in module "Programa.exe". Write of address 00000320" |
|
| Автор: | ToHu [ Вто Май 09, 2017 5:31 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
как ще ти е глобална в unit1.h .... и как всъщност я декларира ? |
|
| Автор: | slav4o.com [ Вто Май 09, 2017 8:50 pm ] | |||||||||
| Заглавие: | Re: C++ builder споделяне на променливи | |||||||||
Ето частта от Unit1.h ами така го направих, като рових в нета намерих описано по такъв начин. Във programa.cpp няма public Иначе си го направих по бабешкия начин, бутона вика функция която е във Unit1.cpp и от там си я сетва локално вариаблата. Но въпроса е принципен, а и не е културно направено някак, но пък като не са ми ясни нещата... |
||||||||||
| Автор: | ToHu [ Вто Май 09, 2017 9:07 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
я покажи целия .h файл, това ли ти е основната да я наречем форма ? Това не съм го пипал от 10 години, то вече не беше ли нещо друго, да не е борланд ? |
|
| Автор: | bateAz [ Вто Май 09, 2017 9:13 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
Form1 създадена ли е преди да си викнал Form1->п му м... ? Хедър файлът с описанието на класа Form1 видим ли е от Form2 ? |
|
| Автор: | ToHu [ Вто Май 09, 2017 9:17 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
Абе аз затова исках да видя целия хедър на 1 ... в крайна сметка в форм 2 инцлудва ли някъде този на форм 1 или няой друг който да му казва че има такава променлива ? |
|
| Автор: | slav4o.com [ Вто Май 09, 2017 9:22 pm ] | |||||||||||||||||||||||||||
| Заглавие: | Re: C++ builder споделяне на променливи | |||||||||||||||||||||||||||
Borland C++ builder 4 (Да старичко е доста, но едва ли това е проблема) Form1 е основната, Form2 се прави видима с бутон намиращ се във Form1. във Unit1.cpp има
във Unit2.cpp има
Unit1.h
|
||||||||||||||||||||||||||||
| Автор: | bateAz [ Вто Май 09, 2017 9:30 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
това инклудване на .cpp файл къде си го учил? Да отидеш и да направиш рекламация на даскалите! Искай си обратно парите! |
|
| Автор: | slav4o.com [ Вто Май 09, 2017 9:33 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
Ами като го махна не ми разпознава фукциите дето съм ги описал в Unit1.cpp |
|
| Автор: | bateAz [ Вто Май 09, 2017 9:35 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
А ти във функциите писал ли си Form1::Kekava_funktsia() ... ? Обърни внимание на Form1:: |
|
| Автор: | slav4o.com [ Вто Май 09, 2017 9:37 pm ] | |||||||||
| Заглавие: | Re: C++ builder споделяне на променливи | |||||||||
Във Unit1.cpp имам
|
||||||||||
| Автор: | bateAz [ Вто Май 09, 2017 9:39 pm ] | ||||||||||||||||||
| Заглавие: | Re: C++ builder споделяне на променливи | ||||||||||||||||||
Като бира без картофки .... Във хедър файла си описал фъкциите като мембъри на класа, в С файла си ги описал като свободно летящи. Не става. И с подкуп не става. |
|||||||||||||||||||
| Автор: | slav4o.com [ Вто Май 09, 2017 10:38 pm ] |
| Заглавие: | Re: C++ builder споделяне на променливи |
Голяма какаманга стана. Обърках се тотално. Махнах #include Unit1.cpp и си заработи това с променливата. Обаче сега с функциите не мога да се оправя. Ползват се и от двете форми. От Unit2.cpp не се виждат. Къде и как да ги опиша ? |
|
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|