Помогите с файлаим в делфи )

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by zl0y, 2 Jul 2007.

  1. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    Народ хелп возникла проблема,если многократно отрываю для использования программой файл то она вылетает :( как исправить?? Кстати вылетает несразу если 1 прога использует норм,если две тоже норм а если больше вылетает. подозреваю что надо зделать так: f : array of TextFile; но неполучаеться (((
     
  2. NetMan

    NetMan Elder - Старейшина

    Joined:
    9 Feb 2004
    Messages:
    121
    Likes Received:
    37
    Reputations:
    34
    Что за ошибка выдается?
     
  3. Hellsp@wn

    Hellsp@wn Elder - Старейшина

    Joined:
    29 Apr 2007
    Messages:
    401
    Likes Received:
    153
    Reputations:
    48
    зачем так? а просто F: TextFile те не хватает?
     
    1 person likes this.
  4. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Вылетать может изза того, что файл уже открыт и недоступен. Попробуй код обрамить в try ... except ... end;

    Добавлено:

    Либо, если используешь многократно файл одной прогой, не забывай закрывать файл перед новым открытием.
     
    #4 Joker-jar, 2 Jul 2007
    Last edited: 2 Jul 2007
  5. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    338
    Likes Received:
    157
    Reputations:
    37
    разве при попытке отрытия занятого файла происходит исключение?
     
  6. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Ну на 100% не уверен, но думаю исключение EFOpenError как раз этим и занимается
     
  7. Xserg

    Xserg Elder - Старейшина

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    если при открытии File open modes поставить fmShareExclusive, то другой процесс и на чтение открыть не сможет.
     
  8. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    338
    Likes Received:
    157
    Reputations:
    37
    причем здесь это?
    кстати, на васме есть статья по теме работы с занятыми файлами
    http://www.wasm.ru/article.php?article=lockfileswork
     
    1 person likes this.
  9. Gil

    Gil New Member

    Joined:
    17 Jun 2007
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0
    А ты чем с файлами вообще работаешь? Api, паскалевыми ф-ями или потоками? Я когда паскалевскими ассигн, файлопен и т.д. пользовался тож были ошибки такие, да и не такие, в общем много глюков почему-то было хз. Потом перешел на потоки и все нормально, терь всегда потоки юзаю ) и действительно главное не забывать закрывать ..
     
    #9 Gil, 6 Jul 2007
    Last edited: 6 Jul 2007
  10. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    При том, что это решает проблему.
    А вот статья с васма тут не в тему совсем
     
  11. sw_max

    sw_max New Member

    Joined:
    8 Jul 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    подозреваю что файл попросту не закрывается после первого открытия.
     
  12. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    sw_max, подозреваю, что файл можно открыть хоть 10 раз не закрывая, если указать либо GENERIC_READ и FILE_SHARE_READ или GENERIC_READ|GENERIC_WRITE и FILE_SHARE_READ|FILE_SHARE_WRITE
     
    1 person likes this.