проблема с ресурсами!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

проблема с ресурсами!

Сообщение v-adix » 12.02.2004 (Чт) 16:02

вытаскиваю ресурс таким образом:

dim x as string
x=loadresdata("101", "CUSTOM")

вылетает ошибка: resource with identifier 101 not found!
хотя в resource editor'е всё правильно (я указываю правильный ID и тип ресурса). в чём может быть дело?

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 12.02.2004 (Чт) 19:32

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 13.03.2006 (Пн) 17:54, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Re: проблема с ресурсами!

Сообщение Eduard » 13.02.2004 (Пт) 16:45

v-adix писал(а):...
dim x as string
x=loadresdata("101", "CUSTOM")
...
я указываю правильный ID и тип ресурса


Ну если ты точно всё правильно указал то в параметре ID кавычки не ставятца. И самое главное, что при извлечении Custom Data из ресурсового файла, функция возращает всё это дело в типе Byte и в массиве
Должно быть так:
Код: Выделить всё
Dim arrData() as Byte
arrData = LoadResData(101, "CUSTOM")

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 13.02.2004 (Пт) 20:26

нет я не стринг загружаю! у меня ресурс - это бинарный файл (любой может быть, но в данном случае exe-файл). а пользуюсь я стандартным редактором (в AddIns).
короче у меня ф-ция была:

Код: Выделить всё
public loadedresource as string

function loadres(restype as string, resid as integer)
loadedresource=loadresdata(resid,restype)
end function

и оказывается нельзя указывать ID как переменную! я написал вот так:

Код: Выделить всё
public loadedresource as string

function loadres(restype as string)
loadedresource=loadresdata(101,restype)
end function


и всё получилось!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.02.2004 (Сб) 8:45

Щас внесём ясность... :wink:
Ресурсное дерево имеет определённый формат. Могут быть ветки, обозначенные именами (они идут первыми), а за ними - ветки, обозначенные числами. Так что когда ты вызываешь loadresdata("101", "custom"), это трактуется как загрузить ресурс типа CUSTOM, имеющий символьное имя "101", в тот время как loadresdata(101, "custom") - загрузить ресурс типа CUSTOM, имеющий числовой индекс 101.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 14.02.2004 (Сб) 16:32

так мне в функции какой тпи ставить? у меня же там integer, всё правильно! а он не читает!
кстати loadresdata("101","CUSTOM") работает! (с кавычками и без!)


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

    TopList