![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| lebaon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 10.3.2006 Репутация: нет Всего: нет |
пишу простой интерпретатор, данные в нем представленны как variant, при попытке работы с ним вылазит ошибка
First chance exception at $77E73887. Exception class EVariantTypeCastError with message 'Could not convert variant of type (Array Variant) into type (String)'. Process Project4.exe (2104) но там, где она брякается, нет такого преобразования как её побороть? код
delphi 2005 |
|||
|
||||
| ama_kid |
|
||||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 9 Всего: 95 |
не совсем понял, зачем ты так сложно пытаешься сделать интерпретатор (его можно сделать гораздо легче), но ошибка у тебя возникает, из-за того, что ты всегда в функцию find передаешь unassigned аргумент (у тебя нет финального присваивания параметра после того, как ты сдетектировал закрывающуюся скобку). Я написал так:
и команда
P.S. Я писал когда-то интерпретатор - я просто сканил строку до первого пробела и это получалась команда, а все остальное я скармливал рекурсивной функции разбора параметров, но у меня там были на каждом шагу проверки от некорректности ввода (чего у тебя нигде нет). P.P.S. Зачем тебе тип variant - я тоже не понял, ведь все вводится в строковом виде, который ты всегда можешь преобразовать в нужный тебе, да еще и с проверкой на правильность и с корректной обработкой исключений... -------------------- самурай без меча подобен самураю с мечом, но только без меча |
||||
|
|||||
![]()
|
| Правила форума "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. |