Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.10.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
15-1308652320
Артур Т.
2011-06-21 14:32
2011.10.16
Просьба перевести короткую фразу....


1-1269019209
DmitriyG.
2010-03-19 20:20
2011.10.16
Изменение DecimalSeparator


2-1309475190
Den
2011-07-01 03:06
2011.10.16
not VarIsEmpty не срабатывает с функцией find v excel?


2-1308890972
Wryyyyyy
2011-06-24 08:49
2011.10.16
Query.Parameters


2-1308977278
Kolobok
2011-06-25 08:47
2011.10.16
Разварот узла.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский