Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.16;
Скачать: CL | DM;

Вниз

Текстовые ресурсы   Найти похожие ветки 

 
Gu   (2011-06-26 03:04) [0]

Как прочитать текстовый ресурс из внешних dll или exe с нужным id?
С внутренними ясно - TResourceStream.CreateFromID, а с внешними как? Если можно - пример.


 
Leonid Troyanovsky ©   (2011-06-26 10:20) [1]


> Gu   (26.06.11 03:04)

http://groups.google.com/group/fido7.ru.delphi.chainik/msg/72263f8fca9bd33d

--
Regards, LVT.


 
Gu   (2011-06-28 00:51) [2]

Спасибо.
А можно как-нибудь узнать, сколько в dll строковых ресурсов (количество)? Или точную таблицу с номерами Id?


 
Игорь Шевченко ©   (2011-06-28 01:08) [3]

Gu   (28.06.11 00:51) [2]

Можно.
http://delphimaster.net/view/2-1308682465/

нефигово обычно смотреть соседние ветки - вдруг там найдется что-то полезное


 
Gu   (2011-06-28 01:37) [4]

Модуль который вы там рекомендуете слишком древний и под 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 строки норм.запрашиваются и прога не вылетает (не вылетает и в случае, если ресурса с таким номером нет). Эту ошибку можно както поймать еще?


 
Gu   (2011-06-28 01:39) [5]

да, это не только у этой dll, еще куча системных с разными номерами есть которые такую ошибку дают


 
Gu   (2011-06-28 01:42) [6]

пробовал отдельно завернуть, пофиг

 try
 if LoadString(h, i, buffer, SizeOf(buffer))>0 then memo3.Lines.Add(inttostr(i)+" - "+buffer);
 except
 guerr("error");
 end;

//guerr - аналог showmessage


 
Германн ©   (2011-06-28 02:14) [7]

<OFFTOP>
Когда в былые времена Riply осваивала метод "ненаучного тыка" и публиковала тут свои вопросы, замечания и решения - было интересно. Сей вопрос - совсем не интересен. :(
</OFFTOP>


 
Игорь Шевченко ©   (2011-06-28 10:24) [8]


> Модуль который вы там рекомендуете слишком древний и под
> Xe и Win 64 не фурычит + файлов нехватает нужных при сборке.
>


Больно слышать


 
Gu   (2011-06-28 23:17) [9]

заработало, сделал на основе: http://blog.onkeysoft.com/tag/enumresnameproc/



Страницы: 1 вся ветка

Текущий архив: 2011.10.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
15-1308953060
Kerk
2011-06-25 02:04
2011.10.16
Quake2 to Delphi conversion


15-1308601797
Юрий
2011-06-21 00:29
2011.10.16
С днем рождения ! 21 июня 2011 вторник


2-1309147071
Gu
2011-06-27 07:57
2011.10.16
Проверить GUID


2-1309343844
bon
2011-06-29 14:37
2011.10.16
delphi &amp; c#


2-1309061190
Gu
2011-06-26 08:06
2011.10.16
Не могу удалить ключ реестра