![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 22
|
![]()
Вообщем вот что получилось:
Код:
не нашёл как скопировать чтобы всё осталось как в Delphi
Лишь утратив всё до конца, мы обретаем свободу...©
Последний раз редактировалось Stilet; 15.04.2010 в 08:04. |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
В принципе не плохо, для первого раза. Но экземпляры класса перед использованием нужно инициализировать (то есть вызвать конструктор).
Мало просто написать Код:
А в конце работы нужно обязательно освобождать такой объект y.Destroy; или y.Free; (последний деструктор предпочтительней). Далее, проблемно возвращать экземпляры классов в качестве результатов функций. Вы можете вернуть TDrob, но это не просто результат функции, это полноценный экземпляр класса (который нуждается в инициализации и что гораздо хуже, нуждается в вызове деструктора). То есть перед использованием результата нужно писать result:=TDrob.Create; а уж потом присваивать ему какое-либо значение. Но это еще полбеды как только Вы передадите такой результат из функции, то потом Вы его освободить (вне функции) не сможете. И тогда с каждым вызовом такой функции у Вас будет каждый раз создаваться новый объект TDrob. Теперь представьте, что перед Вами массив дробей - Вы их складываете, умножаете, делите и все такое. Каждая операция возвращающая TDrob будет увеличивать объем памяти требуемой программе для работы. И рано или поздно операционная система откажется ей выделять память. Явление когда программа не контролируемо требует себе все больше ОЗУ называется утечками памяти и является самой распространенной неявной проблемой при работе с классами. Чтобы такого не случилось все экземпляры класса должны явно конструироваться (через вызов Create класса) и разрушаться через вызов Free или Destroy экземпляра класса.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#13 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Это разве будет работать?
Я признаться не знал что до implementation можно описывать код методов. Да и не вижу где у тебя класс закрывается end'ом... Оффтоп: Цитата:
I'm learning to live...
Последний раз редактировалось Stilet; 15.04.2010 в 08:11. |
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 22
|
![]()
Вот именно что первый раз писал классы.
Она не работает. буду дорабатывать чтобы хотя бы запускалась...
Лишь утратив всё до конца, мы обретаем свободу...©
|
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Возьми какой-нибудь учебный пример и распихай все по нужным секциям (что должно быть в Interface, что в implementation и т.д.).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#16 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
![]()
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 22
|
![]()
Вопрос: сколько может стоить доработка имеющегося кода до рабочей программы?
Вид Формы имеется.
Лишь утратив всё до конца, мы обретаем свободу...©
|
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
В смысле? Прога из этой темы?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#19 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
![]()
делфи не очень годится для таких вычислений - он не поддерживает перегрузку математических операций между объектами класса, приходится колдовать
т.е. нельзя объявить объекты класса и делать вычисления между ними, а как удобно на С-подобных языках Код:
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 22
|
![]()
да. Из того что уже есть сделать нечто рабочее
Лишь утратив всё до конца, мы обретаем свободу...©
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
КЛАСС | 4ika | Общие вопросы C/C++ | 1 | 16.03.2010 21:32 |
C++ . Класс | Ануар56 | Помощь студентам | 8 | 23.04.2009 19:41 |
Собственный класс диалогового окна на чистом WinApi в Delphi | Iber | Win Api | 19 | 01.12.2008 15:40 |
Класс | Юлёк | Фриланс | 6 | 15.06.2008 15:00 |