![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||||
|
||||||
|
Всем доброго времени суток! Работаю с делфи недавно и вот появился вопрос, на который я легко нашел ответ в интернете. Но теперь что то не работает и я никак не могу найти ошибку.
У меня есть три модуля. TV1 - основной и два вспомогательных: MO и Unite3. Задача: из MO загрузить массив в TV1, откуда она попадет в Unite3. При проверке оказалось, что значения в TV1передаются и даже записываются в Form3.*переменная* но вот в самой Form3 не выводятся почему. Ну не получает форма значения, ну никак. Помогите найти ошибку, пожалуйста. Код:
Код:
Код:
|
|
#2
|
|||
|
|||
|
В коде могут быть не оптимизированные моменты, буду рад, если вы мне о них скажете и расскажите, как это исправить
Код:
|
|
#3
|
||||
|
||||
|
Зачем что-то куда-то передавать? Массив буде доступен любому юниту, который подключит юнит с массивом. При условии, что массив находится в секции public или обозначен как var и находится в секции interface.
|
|
#4
|
|||
|
|||
|
В TV1 формы создаются и, что бы не париться с этим делом, я просто передаю их туда.
Ошибка то в том, что в 358 строчке (for i:=1 to 10 do Form3.PO[i]:=PO[i] массив передаётся и можно вывести переменные Form3.PO[i] и PO[i];Но вот в Form3 ничего нет и все равно 0. |
|
#5
|
||||
|
||||
|
Объявляю вас победителем в номинации "Лучший говнокод-китайкод месяца" ![]() Последний раз редактировалось M.A.D.M.A.N., 10.11.2013 в 19:10. |
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
PhoeniX (10.11.2013)
| ||
|
#6
|
|||
|
|||
|
Спасибо, приятно.
Но если вы поподробнее расскажите, что же такого страшного в моей писанине, то в будущем постараюсь такого не писать. |
|
#7
|
||||
|
||||
|
Ну там процентов на 90 можно код сократить, ибо код повторяется.
|
|
#8
|
|||
|
|||
|
Цитата:
Тогда вопрос. Есть вот такой блок: Код:
Как его сократить? С делфи работаю не так долго, поэтому не знаю, как изменять номера Edit-ов и что бы при этом все работало. |
|
#9
|
||||
|
||||
|
Код:
|
|
#10
|
||||
|
||||
|
Цитата:
Спасибо, применю. А по поводу ошибки, ради которой и создавалась тема нет идей? Цитата:
Последний раз редактировалось M.A.D.M.A.N., 10.11.2013 в 22:44. |
|
#11
|
||||
|
||||
|
А можно запилить класс-наследник TEdit и добавить ему нужных методов/полей. А потом с помощью известного хака подменить им стандартный TEdit, для простоты использования.
Вообще все проблемы этого кода растут из того факта, что автор не умеет в ООП. Нет, вы учитесь "просто что-то кодить". А ООП требует отдельного понимания, которое порой никак не идёт. Зато когда наконец доходит - сразу глубоко проникаешься этими идеями. По сабжу: А переменная Form3 где объявлена? Вот это что ли? Код:
Последний раз редактировалось M.A.D.M.A.N., 10.11.2013 в 22:45. |
|
#12
|
|||
|
|||
|
Этот изврат работает. У меня передаётся значение из TV1 в MO так же и все хорошо. А вот в третий модуль - никак.
А по ооп почитаю, постараюсь разобраться. |
|
#13
|
||||
|
||||
|
Многие извраты работают, но этим не стоит гордиться.
|