VB не находит строковый ресурс

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

VB не находит строковый ресурс

Сообщение Dashka » 30.06.2005 (Чт) 16:08

Для поддержки многоязычности используется файл ресурсов (3 языка, для переключения языка сдвиг 0/200/400).
Все прекрасно работает, кроме id=992..999 (хотя данные ресурсы присутствуют в файле, возникает ошибка resource not found).
Чем может быть вызвано это загадочное явление?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.06.2005 (Чт) 16:21

Покажи функцию, которая осуществляет сдвиг. Возможно у тебя обрезается id до трех знаков?
Lasciate ogni speranza, voi ch'entrate.

Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

Сообщение Dashka » 30.06.2005 (Чт) 16:50

для проверки все таблицы скидываются в файл

Open App.Path & "\res.txt" For Output As #1
For I = 601 To 799
Print #1, I & Chr(9) & _
LoadResString(0 + I) & Chr(9) & _
LoadResString(200 + I) & Chr(9) & _
LoadResString(400 + I)
Next

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 01.07.2005 (Пт) 0:30

Я недавно очень пристально изучал структуру ресурсов. Можно сделать один ресурс(с одним именем) в разных языках и незачем делать несколько разных ресурсов.
А насчет ошибки, может что-то с типом переменной, проверь как объвлена I. Попробуй поменять 200+I на I+200, а лутше считай в отдельной переменной и подставляй.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.07.2005 (Сб) 12:27

Если сделать многоязыковую стринговую таблицу, то ты не сможешь выбрать ресурс с произвольным языком; всегда будет использоваться язык, установленный в системе. Я бы вообще советовал использовать внешние языковые файлы.
Lasciate ogni speranza, voi ch'entrate.

Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

Сообщение Dashka » 05.07.2005 (Вт) 17:15

От объявления переменной вроде ничего не зависит. Даже если задавать константой - та же ошибка.

Странно, что все это происходит где-то в середине диапазона значений(в 8 случаях из 600), а в остальных случаях все нормально.

В будущем разберусь с внешними языковыми файлами. А тут попробую как-нибудь обойти эту ошибку.

Просто хотелось понять, почему так происходит.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 06.07.2005 (Ср) 10:09

alibek писал(а):Если сделать многоязыковую стринговую таблицу, то ты не сможешь выбрать ресурс с произвольным языком; всегда будет использоваться язык, установленный в системе.


А оно и не надо - выводить немецкий язык под русской Windows. Все одно контролы не поддерживают уенкод и большинство умляутов сожрется... Да и ввести что-либо при этом юзеру крайне затруднительно.

alibek писал(а):Я бы вообще советовал использовать внешние языковые файлы.


Внешние файлы удобней тем что юзер сможет самостоятельно создать свой и заполнить его. В то-же время чуть более продвинутый юзер сможет добавить новый язык и в файл ресурсов программы (я сам так кое какие сторонние dll-ки локализую), так что разница тут минимальна.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 06.07.2005 (Ср) 10:12

Dashka писал(а):Просто хотелось понять, почему так происходит.


Делаешь маленький проектик, демонстрирующий сие чудо, пакуешь и выкладываешь сюда. Тогда точно скажут в чем дело.

P.S Есть большая вероятность что попутно найдешь ошибку сам :lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 114

    TopList  
cron