![]() |
|
|
![]()
|
|
| Ketzalkoatl |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.8.2007 Репутация: нет Всего: нет |
Народ, помогите кто может!
Я уже совсем голову сломал - ни фига не могу врубится что за засада! Вроде все просто, но вылетает AV! Короче ситуация такая: Прог-а выполняется на Windows 2003. В цикле вызывается функция Function.
Так вот вроде все работает нормально, но на третьем файле (постоянно на одном и том же) при Otvet->LoadFromFile(FileFor1); вылетает AV. Файл обычный, текстовой... Пробовал извращаться:
Однако, при Otvet->Text = String(File); уже на 15-ом (одном и том же файле) опять вылетает AV. Мож есть у кого какие мысли? |
||||
|
|||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
чти документацию (эт же Borland компилер?,- судя по T...)
"Creates a new TStringList object. inline __fastcall TStringList(void) : TStrings() { } Description When creating a TStringList object, use the new keyword before the constructor to obtain an indirect reference to the string list." перевести? -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| Ketzalkoatl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.8.2007 Репутация: нет Всего: нет |
Чту: "При создании объекта TStringList, используйте новое ключевое слово перед конструктором, чтобы получать косвенную ссылку на список строк" Дык и на что же намёк? Можно попроще, для особо тупых? |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
||||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
TStringList * sl = new TStringList();
*. "new" в С++ - непереводимое выражение. Добавлено через 3 минуты и 46 секунд Это я вшился. Понедельник Это сообщение отредактировал(а) akizelokro - 27.8.2007, 09:35 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| Ketzalkoatl |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.8.2007 Репутация: нет Всего: нет |
Дык и на что намек то? Я не так чтоль делаю???
и
не есть одно и тоже???? |
||||||
|
|||||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
akizelokro, ну и дальше что?
|
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
Ладно, прокололся.
Кстати, откомпилил твой второй вариант. Поменял File на buf. Вместо FileForl.c_str() грубо прописал "1.txt". Выдало AV, потому что файла 1.txt в текущем каталоге не было. Перебросил туда файл, код отработал нормально. Кстати, AV выскочило не на строке Otvet->Text, а на предыдущей buf[len] = '\0'. Это сообщение отредактировал(а) akizelokro - 27.8.2007, 10:17 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| Ketzalkoatl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.8.2007 Репутация: нет Всего: нет |
Дык ежу понятно что он и ДОЛЖЕН отработать нормально... Но раз нормально, а раз - VA.... |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
Десять раз запустил прогу с твоим кодом (и моими поправками). Всё пашет и не фордыбачится.
Рекомендации см. выше. -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| Ketzalkoatl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.8.2007 Репутация: нет Всего: нет |
На какой ОСи гоняешь? Я уже на Windows 2003 думаю. Мож дистр. левак??? Конечно же не лицензированная и без всяких СП.... На Хрюше СП 2 (официально зарегинная версия) - всё ваще без проблем пашет..... |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
OS - XP Home Edition SP2 (лиц.)
У BDS 2006 идет два SP и HotFix У BCB6 по-моему последний update - 4. Но грешить на компилер дело последнее (к тому же, список ошибок известен). Попробуй не применять такие выражения для переменных как File. Насколько я помню, это похоже на какое-то Дельфиевское объявление, а как они там внутрях коррелируют, - разбираться долгая песня. Вообще, применяй индивидуальные идентификаторы. Или выводи каждый раз для контроля название файла. Твой текстовый файл (формат .txt типа, но не своего формата .doc или .rtf) должен находиться в каталоге проекта или в каталогах, прописанных в PATH, если путь к нему ты не прописываешь полностью. Если ты его задаешь в ".....", то слэши могут съедаться. Что ты и увидишь при выводе названия файла. Кстати, компилеры (дистрибутивы) с подозрительным происхождением, бывает, буксуют. Например, пробовал компилить на MDS ActiveX control. Так он при запуске в Ворде не давал мне доступа к пользовательским свойствам. Закачал Beta2 MDS2008 c сайта фирмы-производителя, он мне сразу все разрешил). Правда, одну багу я в нем уже нашел. И нашел одну веселую проблему, которой они std::string "отгружают". Это сообщение отредактировал(а) akizelokro - 27.8.2007, 11:02 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |