А как сделать эту обьектно-орентированность (блин, слово то какое) не пойму!
Может кто обьяснит?
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
| gMan |
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: 1 |
Допустим нарисовал я кнопку. И еще, еще...
А как сделать эту обьектно-орентированность (блин, слово то какое) не пойму! Может кто обьяснит? -------------------- Стабильность - признак мастерства
|
![]() ![]() |
| BlackShadow |
Сообщение
#2
|
|
Гость |
Давай-ка лучше заново и по-подробнее. Я что-то не особо въехал. Ты спрашиваешь, как использовать процедуру написанную на ASM в паскале? {$L ...) и понеслось. Это ты должен знать. Если наоборот, то EXTERN ...:PROC и поехали.
А если тебе надо из ассемблерного кода поработать с паскалевскими объектами, то это уже другое дело. Рекомендую так: создаёшь класс TObject такого типа: Type После этого надо заюыть про то, что Dispose сожно вызывать и самому, а пользоваться только Free. А САМОЕ важное - ВСЕ классы должны наследоваться от такого вот TObject. Чего мы этим добились? Мы знаем где находится адрес VMT в объектах и можем их спокойно создавать, кастовать и убивать:). Чтобы создать объект: {Creating static object}
Что примечательно, последний вариант сам вызовет new и т. д., а так же вернёт тебе поинтёр на инстанс. Чтобы вызвать какой-то динамический метод: MOV BX,[WORD PTR InstanceOfMyObject] {Get Offset Of VMT}
Надо заметить, что Method #0 - Destructor. Чтобы кильнуть: PUSH SEG MyObj оно и память освободить и деструктор вызовет. Вот только я в душе не знаю во что превращаются имена статических методов объектов при компиляции, а так же имена конструкторов... |
gMan Обьектно-орентированность 22.07.2004 20:39
BlackShadow :)
Например создаёшь объект типа
Type
TButton
… 22.07.2004 20:53
gMan Хм... На паскале то понятно.
А с ассемблером как б… 23.07.2004 2:01
BlackShadow Ну ты загнул. Было у меня дело - писал на асме с О… 23.07.2004 15:48
gMan Отлично! жду!
Заранее спасибо. 23.07.2004 16:56
gMan Уже ведь вторник, а обещанного нет. :p2: 27.07.2004 2:02
BlackShadow Я уже извинился в другом топике - запамятовал (вых… 27.07.2004 17:03
gMan Ждемс... :) 27.07.2004 17:15
BlackShadow Ндя. Особо порадовать нечем. Оказывается поприбива… 28.07.2004 16:12
gMan Спасибо, ты мне очень помог. :rolleyes: 28.07.2004 21:36
BlackShadow Не на чем. Если напишешь чего рабочего, выложи, PL… 29.07.2004 17:05
gMan Нет проблем, как напишу - так покажу :)
P.S. Есл… 29.07.2004 18:06
gMan BlackShadow, что если я напишу модуль компонентов … 31.07.2004 15:41
gMan Спасибо, далее сам догоню :)
Уже что то назревае… 1.08.2004 21:17
BlackShadow А зачем тебе понадобился паскаль? Лень графику дел… 1.08.2004 21:20
gMan Нет просто удобнее работать :)
Так все таки лучш… 1.08.2004 21:36
BlackShadow Да хоть на басике пиши :)
Чем паскаль удобнее асма… 1.08.2004 23:01
gMan Бррр...
Короче на чистом асме писать буду и точка… 2.08.2004 21:32
BlackShadow 1). А что ты подразумеваешь под компонентом?
2). К… 3.08.2004 16:49
gMan Ладно, разберусь как нибудь. Тема закрыта :) 4.08.2004 1:24![]() ![]() |
|
Текстовая версия | 19.06.2026 9:57 |