Проблема с Tstringlist

Тема в разделе "Общие вопросы по С и С++", создана пользователем Dionis, 27 авг 2007.

  1. Dionis

    Dionis Гость

    Народ, помогите кто может!
    Я уже совсем голову сломал - ни фига не могу врубится что за засада!
    Вроде все просто, но вылетает AV!

    Короче ситуация такая:

    Прог-а выполняется на Windows 2003.
    В цикле вызывается функция Function.
    Код (Text):
    int Function(void)
    {
    TStringList *Otvet = NULL;

    if(!FileExists(FileFor1))
    return ERR_FILE_EXT_LOCAL;

    Otvet = new TStringList;
    Otvet->LoadFromFile(FileFor1);

    ..... код ......

    if(Otvet != NULL) delete Otvet;

    };
    Так вот вроде все работает нормально, но на третьем файле (постоянно на одном и том же)
    при Otvet->LoadFromFile(FileFor1); вылетает AV.
    Файл обычный, текстовой...

    Пробовал извращаться:
    Код (Text):
    int Function(void)
    {
    Otvet = new TStringList;
    char *File = NULL;
    int len = 0, h = 0;

    h = open(FileFor1.c_str(), 0);
    len = filelength(h);
    close(h);

    File = (char *)malloc(len+1);
    ifstream infile(FileFor1.c_str(), ios::binary);
    infile.read(File, len);
    infile.close();
    File[len] = '\0';


    Otvet->Text = String(File);

    ..... код ......

    if(Otvet != NULL) delete Otvet;
    free(File);

    };
    Однако, при Otvet->Text = String(File); уже на 15-ом (одном и том же файле)
    опять вылетает AV.

    Мож есть у кого какие мысли?
     
  2. mms

    mms Гость

    Сообщение ошибки напишите.
     
  3. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Только что попытался смоделировать вашу ситуацию. В качестве загружаемых файлов использовал файлы проекта
    Код (Text):
    TSearchRec R;
    FindFirst("*.*", faAnyFile, R);
    ...
    И действительно функция спотыкается об Project1.tds на Otvet->LoadFromFile(FileFor1);

    Но это лишь с запущенным билдером. Если билдер выключить и запустить программу просто так, то никаких ошибок не выдаёт. Может, у вас такая-же ситуация? Или вы читаете определённые файлы, а не лишь бы какие?
     
  4. Dionis

    Dionis Гость

    Ну там аксесс виалейшн при обращении к определённому адресу...

    Определённые, а не лишь бы какие... Файлы с расширением *.tmp и они в текстовом формате....

    Да ладно, забудте...

    Я уже решил (после 2-х дней мытарств), что это галюн с StringList. Ведь иначе и не может быть! Решено его уже не использовать....
    Он мне нужен был для построчного парсинга.
    Сейчас переделал проект - считываю файл в char массив, вырезаю искомые строки и далее их парсю....
    Вроде так надёжнее...
    Но ПОНМИТЕ!!! ( :unsure: ) подобный галюн с StringList возможен ;)
     
Загрузка...
Похожие Темы - Проблема Tstringlist
  1. c0de3r
    Ответов:
    5
    Просмотров:
    126
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    135
  3. SoulPaladin
    Ответов:
    4
    Просмотров:
    131
  4. Artael
    Ответов:
    1
    Просмотров:
    110
  5. ENSLER
    Ответов:
    0
    Просмотров:
    102

Поделиться этой страницей