![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Щас буду коллекционировать глюки и недоделки в Delphi. А то обычно раз в месяц встречаюсь с какими-то непонятными глюками...
------------------- Глюк: Создаю новый проект, вытаскиваю Button, и пишу такое:
Попытка компиляции обламывается с Access Violation и дальше не работает клава в окне редактора... Перезапуск Delphi или перезагрузка компа не влияют никак на успешность компиляции... ------------------- Недоделка: Тоже создаю новый проект и пишу:
На строке Dec выдается безымянная ошибка Internal C1030. ------------------- Если бы я начал постить баги полгода назад, то, наверное, уже было бы страница или две... Щас только ничего вспомнить из того не могу... Если что, тоже постите сюда баги... Это сообщение отредактировал(а) p0s0l - 24.12.2003, 23:35 -------------------- С уважением, г-н Посол. |
||||
|
|||||
| zemfir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
для таких случаев хорошо писать версию дельфи
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Седьмая...
-------------------- С уважением, г-н Посол. |
|||
|
||||
| zemfir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
ну дык, если планируется, что это кто-то будет использовать, то надо писать:
Delphi (полный номер версии) билд такой-то что установлено и т.п. Операционная система такая-то билд такой-то глюк проявляется при таких-то условиях. Проверен в таких-то условиях и т.п. В общем стандартный баг репорт Про ОС может и лишнее, но в остальном это нужно. зы, какие-то Вы экстремальные вещи применяете Это сообщение отредактировал(а) zemfir - 25.12.2003, 00:14 |
|||
|
||||
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: 0 Всего: 10 |
У меня был баг, если ты берешь из инета страницу через NMHTTP, а компьютер отключен от инета, виснет проект, а когда его отключаешь виснет дельфи, а когда её сбрасываешь, появляется системная ошибка експлорера
-------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
| DonPager |
|
||||
|
Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: нет Всего: 2 |
Странно но:
при этом не(!) возникает ошибки - почему при
... при этом тоже нет ошибки, но при попытке C := A[9,10] - ошибка есть ... такое возникает только смногомерными.. -------------------- кодер + лодырь = колдырь |
||||
|
|||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
DonPager
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| DonPager |
|
|||
|
Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: нет Всего: 2 |
<Spawn>
с динамическими я ещё смиряюсь, но почему нет ошибки когда
вот для меня что самое обломное... -------------------- кодер + лодырь = колдырь |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
А ты попробуй присвоить значение A[9, i] и будет тебе Access Violetion.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Тут не должен по смыслу вылезать Access Violation, что при записи, что при чтении. Шанс исключения очень мал... При приведенном выше чтении массива на самом деле будет читаться следующая переменная, стоящая за этим массивом. Также, если включить опцию Range Checking {$R+}, то в коде при обращении к массиву через переменные будет сгенерирована проверка границ... Вот примерчик еще:
Это сообщение отредактировал(а) p0s0l - 28.12.2003, 14:37 -------------------- С уважением, г-н Посол. |
||||
|
|||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
Спокойно, у меня при дебаги Квалификационного проекта (примерно 15000 строк кода) довольно часто на цилке в котором идёт исключительно присваиание различных переменных типа integer довольно часто выскакивает Синий экран смерти, или Делфа просто в мясо вешает всю систему...
|
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Бывает, что вешает кучу хинтов, будто бы глобальная переменная не используется... при чем ссылается на все места, все функции где я юзаю эту переменную...
|
|||
|
||||
| DonPager |
|
|||
|
Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: нет Всего: 2 |
вот если бы была ошибка - я бы не возмущался... вместо ошибки в С идёт следуящая переменная.... в общем как и писал p0s0l... а вот про {$R+} не знал... -------------------- кодер + лодырь = колдырь |
|||
|
||||
| MPak |
|
||||||
|
Unregistered |
1) Интересно конечно... я б на месте багланда такие б программы не только не компилировал а рекомендовал бы пойти программеру в школу почитать чтонибудь из азов и теории компиляторов чтобы не повадно бало мешать ассемблер с полным непониманием принципов компиляции и оптимизатора 2) в журнале Техника-Молодежи годов так 80-ых были статьи как ушатать програмируемый калькулятор.... неудивительно что компилятор на порядки более сложный чем ПК (калькулятор) ушатать тоже можно.... вопрос в том - зачем програмировать как попало и делать из себя вид очень умного, а народ в багланде типа очень глупый.... сей пост только показывает полную эквивалентность автора поста к программерам багланда - чего ж ждать в результате 3) Не стоит постить свои баги.... они по большому счету не очень интересны....лучше почитать литературу .... подучиться чтобы понять почему отквоченый бред, а он таковой по определени и есть, не компилируется нормально |
||||||
|
|||||||
| MPak |
|
|||
|
Unregistered |
А пример привести религия не позволяет? Это так много чего можно написать вплоть до того что у меня типа 2 + 2 = 5 |
|||
|
||||
| Chingachguk |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
А вот программерам, написавшим нечто, что допускает выполнения кода в стеке (переполнение буфера), как-то не получается порекомендовать пользователям "пойти поучиться в школе", а приходится быстро все чинить ;) Не, ну я понимаю, что тут совсем другое дело. Компиллятор изначально позиционируется как прога, предназначенная для работы в "неагрессивной" обстановке, т.е. пользователи - нормальные люди, которые хотят скомпиллить свою программу а не завесить компиллятор любыми способами. Как я понял, речь не о том, что "я вот счас круто написал тут лабуды и все красиво подохло". Речь о том, что случайная описка приводит к непонятным сообщениям, а, возможно, к перезапуску машины с риском потерять набранный код... Вот я имею сейчас дело с одним си-компиллятором (txo). Эта норовистая штука. Достаточно написать "нестандартный" символ среди набранного текста из 10-50 строк в разных модулях как бац ! -не могу скомпиллировать и все. Никаких сообщений, ничего. Приходится последовательно откатываться. Или иногда описка (скажем, потеря "}") приводит к куче "полезных" сообщений с финальным "не хватает памяти чтобы вывести все ошибки". Тогда как в паскале (вроде и в дельфи, я не писал) компиллятор совершенно правильно останавливается на первой же синтаксической ошибке. К тому же
не так уж и беспомощен. Он имеет все шансы установить SEH и т.п. -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
||||
|
|||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Вот, Мрак, иди, пожалуйста, и учись, прежде чем тут гнуть пальцы. Случаи, которые я приводил - из жизни - просто я урезал код до такой степени, чтобы не было лишнего, но чтобы глюк остался. Но изначально это был ОСМЫСЛЕННЫЙ код. Ты думаешь я сидел тут маразмом страдал, подбирал строки бессмысленные, чтобы вылез баг ? - Ошибаешься... И причем ты тут про оптимизатор сказал ? Я что, должен еще заботиться, как бы тут оптимизатору туго не пришлось ? Короче, если у тебя есть доводы - говори, а не швыряйся терминами. А то получается, что это про тебя: "Я знаю карате, айкидо, дзюдо ... и другие китайские слова!"... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Седьмая Делфи компилирует нормально следующий код:
Обратите внимание на запятую после апострофа. Так работает везде где мы пробывали - в сочитании апостроф-запятая-правая скобка запятая игнорируется. -------------------- Волны гасят ветер... |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Fantasist - Прикольно! Я такого раньше не замечал...
Из этой же оперы - хотя это и не дырка, но смотрится немного странно:
.) = ] (. = [ Это сообщение отредактировал(а) p0s0l - 30.12.2003, 09:44 -------------------- С уважением, г-н Посол. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Если мне не изменяет память, это пошло с очень древних времен, когда не во всех системах можно было ввести символы [ и ]. Вот и были придуманы метапоследовательности их заменяющие. Не знал что Delphi их еще поддерживает -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Мрак |
|
||||||
|
Unregistered |
Ну так кто ж тем прогаммерам виноват
Я понимаю что случайная описка валящая компилятор ни есть гуд. Но чтот в исходном сообщении я случайной описки не видел. Там было только агрессивное использования ассемблера с наглыми передачами управления и разрушением стека и наглое приведение типов с попыткой декрементировать полученное значение. Если второе с весьма большим натягом и можно назвать опиской то первое вообще ни в какие ворота не лезет.
Не имеет. Шансы имеет програмер. Но видимо такого никто не ожидал - видать не заложились |
||||||
|
|||||||
| МРак |
|
||||||
|
Unregistered |
С этого места подробнее плз. Чему и у кого.
Осмысленный гришь... ну-ну.... заметно... что первый, что второй... А для недоученных то есть меня можно пояснить сокровенный смысл не того, что вырезано, а того что осталось. А то я уж совсем плох он такие закорюки чтобы что-то работало да еще и на ассемблере,
Оптимизатор как раз к ассемблерным вставкам довольно хреного относится. Причем в любом языке. |
||||||
|
|||||||
| p0s0l |
|
||||||||||||||||||||||||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
МРак, интересно, что приходится тут объяснять, как же получился такой код... Только когда я тебе расскажу смысл кода, ты мне скажешь, чем же это спасает ситуацию...
Смысл в том, что мне надо вычислить ТОЧНЫЙ размер кода процедуры Proc1. Первоначальный вариант:
Этот способ мог давать погрешность до 3 байт, т.к. начало тел процедур выравнено по 4-байтной границе. А в ходе переборов разных вариантов набралось такое:
Вылезает Internal Error. Смысл тот же самый, но не компилируется. Уж извини меня, МРак, такого тупого программера, ведь только сел за Дельфи, а нигде не написано, как реализовать нужную мне задачу. Может ты мне скажешь, как же узнать размер процедуры, раз ты такой знаток Дельфей, компиляторов и асмов - это ведь тебе раз плюнуть, а мне придется мараться, глюки случайно находить то тут, то там, и я же буду, самое главное, виноват в этих глюках... Короче, из-за неточности решил попробовать сделать через одно место. По смыслу метка - это адрес. Вот я и сделал так:
Но так нельзя... Вот если бы ввели бы возможность узнавания адреса метки... Ради эксперимента решил посмотреть, что будет, если:
Вот тут дельфи гнется, и окно редактора кода в дельфи становится глухим на нажатие кнопок. Извиняюсь, МРак, конечно, за абсурдность идеи, видимо не дано быть мне программером, DVA мне это говорил, теперь ты говоришь... Все, теперь буду трактористом. В итоге я сделал вычисление размера процедуры по-трактористски:
Но опять же, так как это сделано по-трактористски, то не компилится (internal error)... Найди разницу, МРак, и скажи, в чем принципиальное отличие, этот вариант компилится и работает:
И к чему ты это сказал ? Не использовать асм ? Спасибо! Или не использовать дельфи, а чисто асм ? Тоже спасибо! А теперь, на десерт
Очень посмешил!
Хоть убей, но рыл-рыл, перерыл, но ниодной передачи управления так и не нашел!... А нет, что же я ? Ведь там есть такая процедура: Procedure Proc1: nop ret Возврат из процедуры - это передача управления! Притом наглая! Ведь до ret'а нет никаких осмысленных действий! Что это за процедура, которая ничего не делает?
Ты можешь себе представить такое, что там в последствии была инструкция POP! Или ты забыл про такую команду, как POP, или я не написал, что код урезан ?
Какой же я наглец! Привести pointer к cardinal - это не по-программерски! Это нагло, по-ламерски, и вообще ерунда какая-то!
Dec от слова Decrement, ты абсолютно прав. Но ты забыл сказать, что это НАГЛАЯ попытка декремента! Короче, МРак, спасибо, что объяснил построчно, что же я там накалякал.
Да... Куда уж мне, бесталантному трактористу-програмисту-самоучке тягаться с таким титаном программирования, как МРак, который своим зорким взором смотря вдаль (правда не слыша, что ему кричат в упор) сразу выцепил из толпы "ламака" (т.е. меня).
По-моему, вывод один - тут есть только один индивид (МРак), который строит из себя супер-программера, которому влом объяснять азы тупым программерам (таким же тупым как и Борландовцы?), типа меня (p0s0l). Про тупость Борланда - это твои слова. Я без всякого злого умысла выложил то, что накопал (найди хоть слово в адрес дельфи или Борланда), никак не думая, что найдется умник МРак, и начнет говорить, что код абсурдный, противоречит всем законам физики и т.д. Но тема-то создана для сбора глюков. Но никак не для спора на темы о правильности писания кода. Неважно, правильно я сделал, или нет, написав ту лажу-нелажу, но главное, что Дельфи от этого не защищен. Особенно интересуют Internal Error-ы. Например, помню был случай, когда прогал то ли на D5, то ли на D6. И там писал процедурину, где было два вложенных цикла, в циклах - пара вложенных условий, пара case'ов, короче, такая вложенность begin..end'ов. Вставил break, да не туда, получилось вне цикла. При компиляции выдавалось что-то вроде Internal Error, но курсор на строку с break'ом не ставился. Потерял полчаса прежде чем догадался, что дело было в Break. (Умный МРак скажет - тупой программер, вот так долго и искал...). Вот, теперь (В D7) эта ошибка уже проименована, и догадаться в чем дело не составляет труда... И поэтому, МРак, не вижу ничего плохого в том, чтобы говорить об ошибках в Delphi, может, это кому-то поможет, и может, это кому-то интересно. Короче, МРак, жду твоего ответа! Уж очень с тобой интересно общаться, настроение умеешь поднимать! -------------------- С уважением, г-н Посол. |
||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Уфф, не думал что столько выйдет! Долго не бывал на форуме - сказывается...
-------------------- С уважением, г-н Посол. |
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
ещё если после какого-нить опреатора стоит end, то после этого самого оператора можно не ставить ; и всё работает ОК:
|
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Полудненко Олег Не понял... Ты думаешь, что это - глюк дельфи? На самом деле, это - не глюк, а наоборот возможность. Наоборот считается, что ";" - это отдельный оператор, и если его поставить перед end, то скорость работы программы уменьшится. Ненамного правда.
-------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
По поводу ; перед end.
Дело в том, что язык Pascal лежащий в основе Delphi относится к языкам в которых символ ; является разделителем операторов. А поскольку end не является оператором, то и ; ставить перед ним нет надобности. А еще, в Pascal'е есть понятие пустой оператор, поэтому, можно ставить подряд несколько ;, ну и конечно ставить ; перед end. Причем замечу, наличие символов ; перед end, а так-же их количество на скорость работы программы не влияет. Достаточно взлянуть на код генерируемый компилятором. А для справки, есть языки в которых символ ; служит символом завершающим оператор. В таких языках пропуск ; недопустим. -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Петрович Согласен. Я ошибался.
-------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
Насчёт ";":
был у меня как-то такой глюк в 5-х, то ли 6-х Делфях... Стоял у меня перед end'ом оператор, после него точки с запятой не было. Программа не работала. После часа экспериментов до меня наконец дошло, что этот последний оператор компилятор не видит! Поставил точку с запятой - всё заработало. Теперь всегда ставлю ";" перед "end"... |
|||
|
||||
| Полудненко Олег |
|
|||
|
Українець ![]() ![]() Профиль Группа: Участник... Сообщений: 556 Регистрация: 13.8.2003 Репутация: 1 Всего: -11 |
Ещё можно создавать переменные следующего вида integer:string; Тоесть давать имена переменным типа iteger, write и т.д.
|
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Я бы не стал так писать! У меня часто бывает, что операции с Result оканчиваются интернал еррором! т.е. по возможности надо пользовать доп. переменные и только по концухе Result:=.... Может я и ошибаюсь, но это ИМХО! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Петрович |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
И очень глубоко (прошу не рассматривать как наезд). Дело в том, что Result, это ни что иное как локальная переменная, содержимое которой возвращается как результат функции. Сам я очень часто использую Result как локальную переменную. Вот пару примеров из моей библиотеки, которая работает у меня уже несколько лет:
это совсем просто.
тут посложнее. Ну и из совсем старых
Так что не сомневайтесь, а смело используйте. -------------------- Все знать невозможно, но хочется |
||||||||
|
|||||||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Frikazoid, даже сам Borland частенько юзает Result как обычную переменную...
Загляни в SysUtils или StrUtils... Вот пример: (из StrUtils)
-------------------- С уважением, г-н Посол. |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Сори перепутал с паскалем!
-------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Нельзя использовать в качестве имен зарезервированные слова типа case, string, короче которые жирным пишутся. Про типы: интересно, почему string - зарезервированное слово, а byte, integer, word, boolean, real, pointer и др. типы - нет ? -------------------- С уважением, г-н Посол. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
|
|||
|
||||
| stab |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
Аналогично... было бы круто если бы можно было писать:
может это и было в планах у Борланд? -------------------- 6, 6, 6 - the number of the beast. |
||||||
|
|||||||
| p0s0l |
|
||||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
cully, вот ты почти и ответил... Integer и др. типы - простые типы, ничего кроме имени типа не надо указывать. А у стринга можно еще длину указывать... -------------------- С уважением, г-н Посол. |
||||||||
|
|||||||||
| Mpak |
|
||||
|
Unregistered |
Остальные извращения с инструментом не предназначенным для системного программирования покипаны. Всего пара глупых вопросов 1. На кой его знать точно? С чего вдруг погрешность от выравнивания стала критична? 2. На кой это нужно определять в рантайме? |
||||
|
|||||
| p0s0l |
|
||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
2. На кой это нужно определять в рантайме? [/QUOTE]
На той, что при компиляции никак не узнать размер. А если вначале засунуть это в константу, то будет не то, т.к. эту процедуру я меняю часто, и каждый раз переузнавать размер как-то в лом.
Мрак, как видно, ты и дальше пытаешься лезть в дебри... Вот глупый вопрос - а зачем тебе знать это ? Разве это что-то изменит ? У меня была такая задача, и всё, неважно, зачем это нужно было. Но это было нужно. Точка.
Ну-ну... В книжке, наверное, вычитал словечки "Компилятор", "Оптимизатор", "Системное программирование" ? Продолжай в том же духе. -------------------- С уважением, г-н Посол. |
||||||
|
|||||||
| Guest |
|
||||||||||||
|
Unregistered |
Ясно. Про MAP файлы никто не слышал.....
Тоже ясно. Как ... задача была сформулирована так .... она и решается. Пропущеный наречия по тексту каждый волен расставить сам. Вот бы всеж узнать на кой. А то кроме хакерского пальцегнутия и представить то не могу ЗАЧЕМ в дельфях узнавать размер процедуры, с точностью до байта, да еще и такими способами.
Ну я хоть читаю... Мне хоть не стыдно за свой код. |
||||||||||||
|
|||||||||||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Ладно, Мрак, высказывание про map-файлы (и некоторые другие предыдущие моменты) поставило точку в определении твоего истинного уровня знаний:
map-файле Delphi, как ты мог бы заметить, если бы хоть раз их видел в живую, а не в умной книжке, не указан размер процедуры, а указан только адрес... Увы... Других способов решения моей задачи ты не представил, а только допытываешься до вопроса: зачем это надо ? Короче продолжать это бессмысленно. -------------------- С уважением, г-н Посол. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |