Файлы ресурсов [Решено]

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Файлы ресурсов [Решено]

Сообщение novo » 02.10.2011 17:14:14

Не могу разобраться с извлечением файлов

Составил mydata.rc файл,содержание:
mydata RCDATA "name.exe"

Скомпелировал через windres.exe, получился mydata.res

Прописал в проекте {$R mydata.res}

Далее делаю так

Код: Выделить всё
procedure TForm1.Button2Click(Sender: TObject);
var
  S: TResourceStream;
  F: TFileStream;
begin
   S := TResourceStream.Create(HInstance,'mydata','RT_RCDATA');
  try
    // create a file mydata.dat in the application directory
    F := TFileStream.Create(ExtractFilePath(ParamStr(0)) + 'name.exe', fmCreate);
    try
      F.CopyFrom(S, S.Size);
    finally
      F.Free;
    end;
  finally
    S.Free;
  end;
end;


Компилируется успешно, но при выполнении процедуры выдает ошибку

Resource "mydata" not found.

Помогите разобраться.

Добавлено спустя 51 минуту 44 секунды:
Решение найдено

просто в rc файле изменил имена

mydata f1 "name.exe"

затем изменил

Код: Выделить всё
S := TResourceStream.Create(HInstance,'mydata',pChar('f1'));


Прошу прощения, зря воду баламутил :oops:
Последний раз редактировалось novo 02.10.2011 23:15:35, всего редактировалось 1 раз.
novo
новенький
 
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

Re: Файлы ресурсов

Сообщение Sergei I. Gorelkin » 02.10.2011 22:35:13

Последний аргумент TResourceStream.Create, задающий тип ресурса, может быть либо "настоящим" PChar, либо, если его числовое значение меньше 65535 - одним из стандартных значений RT_xxx. Поэтому нужно использовать PChar(RT_RCDATA) (без кавычек).
В данном случае тип ресурса в общем-то не имеет никакого значения (лишь бы он совпадал в ресурсах и в программе), но при попытке достучаться, например, до иконки файла, разница уже будет.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Файлы ресурсов

Сообщение novo » 02.10.2011 22:52:35

Но для инсталлятора подойдет?
novo
новенький
 
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

Re: Файлы ресурсов

Сообщение Sergei I. Gorelkin » 02.10.2011 23:02:40

Подойдет.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Файлы ресурсов

Сообщение novo » 02.10.2011 23:15:12

Спасибо.
novo
новенький
 
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru
cron