![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Текстовые ресурсы
Gu © (2011-06-26 03:04:00)Как прочитать текстовый ресурс из внешних dll или exe с нужным id?
С внутренними ясно - TResourceStream.CreateFromID, а с внешними как? Если можно - пример.
Gu (2011-06-28 23:17:00) [1]заработало, сделал на основе: http://blog.onkeysoft.com/tag/enumresnameproc/
Игорь Шевченко (2011-06-28 10:24:00) [2]
> Модуль который вы там рекомендуете слишком древний и под
> Xe и Win 64 не фурычит + файлов нехватает нужных при сборке.
>
Больно слышать
Германн (2011-06-28 02:14:00) [3]<OFFTOP>
Когда в былые времена Riply осваивала метод "ненаучного тыка" и публиковала тут свои вопросы, замечания и решения - было интересно. Сей вопрос - совсем не интересен. :(
</OFFTOP>
Gu (2011-06-28 01:42:00) [4]пробовал отдельно завернуть, пофиг
try
if LoadString(h, i, buffer, SizeOf(buffer))>0 then memo3.Lines.Add(inttostr(i)+' - '+buffer);
except
guerr('error');
end;
//guerr - аналог showmessage
Gu (2011-06-28 01:39:00) [5]да, это не только у этой dll, еще куча системных с разными номерами есть которые такую ошибку дают
Gu (2011-06-28 01:37:00) [6]Модуль который вы там рекомендуете слишком древний и под Xe и Win 64 не фурычит + файлов нехватает нужных при сборке.
Еще такой вопрос
edit8.Text:='c:\windows\system32\shell32.dll';
...
i:=4201; //!
Try
h:=LoadLibraryEx(pchar(edit8.Text), 0, LOAD_LIBRARY_AS_DATAFILE);
if h=0 then begin guerr('Не могу загрузить');exit;end;
memo3.Lines.Add('Опрос ресурса с номером '+s);memo3.Refresh;
if LoadString(h, i, buffer, SizeOf(buffer))>0 then memo3.Lines.Add(inttostr(i)+' - '+buffer);
FreeLibrary(h);
memo3.Lines.Add('Опрос закончен');
Except
guerr('Ошибка запроса');Try if h<>0 then FreeLibrary(h);except end;
End;
Почемуто вылетает с общей ошибкой (при i:=4201), т.е. даже конструкция try except не отрабатывает. Если i<4201 или >4210 строки норм.запрашиваются и прога не вылетает (не вылетает и в случае, если ресурса с таким номером нет). Эту ошибку можно както поймать еще?
Игорь Шевченко (2011-06-28 01:08:00) [7]Gu (28.06.11 00:51) [2]
Можно.
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1308682465&n=18
нефигово обычно смотреть соседние ветки - вдруг там найдется что-то полезное
Gu (2011-06-28 00:51:00) [8]Спасибо.
А можно как-нибудь узнать, сколько в dll строковых ресурсов (количество)? Или точную таблицу с номерами Id?
Leonid Troyanovsky (2011-06-26 10:20:00) [9]
> Gu (26.06.11 03:04)
http://groups.google.com/group/fido7.ru.delphi.chainik/msg/72263f8fca9bd33d
--
Regards, LVT.