![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Nolik |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
С точки зрения скорости исполнения процедуры, как правильнее организовать корректную работу процедуры с большим количеством изменяемых переменных?
1. Сформировать Class, и содержать в нем все необходимые переменные. Передавать в процедуру в качестве параметра Class. Теперь процедура работает с переменными, содержащимися в Class: Код MyProcedure( Class:MyClass ); begin Class.var1 := Class.var2 + Class.var3; End; 2. Определить переменные в начале программы НО НЕ передавать их в MyProcedure в качестве параметров, а позволить процедуре работать с внешними (для нее) переменным: Код var1; var2…….varN MyProcedure(); begin var1:= var2 + var3; End; |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ага... Так у тебя все-таки 32-бита. Тогда ясно, Class передается по ссылке всегда. Я думал ты в 16 битном сидишь
![]() Я бы на твоем месте все-таки пересмотрел структуру программы... Процедура, принимающая 15 параметров... ![]() Ну, или просто объедини связанные между собой данные в Record (а может быть и в Object/Class, все зависит от того, что именно ты делаешь с этими данными, как именно они связаны с остальной программой, ... , и еще много причин) |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 11:59 |