IPB

Добро пожаловать, гость ( Вход | Регистрация )

> RTPatch 8.0, Отображение кириллицы и пр.
Siberian GRemlin
Jul 12 2008, 16:57
Сообщение #1


Advanced Member
***

Группа: CTPAX-X
Сообщений: 538
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 223 раз(а)



1. Думаю все знакомы с данной продукцией -- сталкивались с обновлениями для некоторых игр, созданных с помощью данной программы. Я тоже ей пользуюсь в тех же целях (в этом есть крайняя необходимость и посему советовать другое ПО не стоит). Проблема в том, что если написать текст приветствия (выводится при запуске откомпилированного обновления) на русском, то по-русски там ничего не будет, а будут "крякозябры". Посоветуйте, как побороть данный недуг и заставить программу выводить текст на русском. Если необходимо -- выложу примеры.

2. В дистрибутиве также идёт пример на сях и дельфях с использованием patchw32.dll т.е. как в свою прогу добавить поддержку обновления файлов из файло-обновления [.RTP], но что-то либо я переучился, либо одно из двух, но я не могу разобраться...


P.S.: Если знаете где взять версию свежее 8.0 -- буду признателен.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
-=CHE@TER=-
Jul 25 2008, 14:41
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,428
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 327 раз(а)



Ох... разбираться в этом.
Навскидку - вместо PChar попробуй Cardinal, только перед этим присвой ей ноль (типа NULL-указатель будет). Вот так как-нибудь:
CODE
var
    retCode: word;
    CallBack: Caridnal;
begin
  CallBack:=0;
  if FileExists(ExpandConstant('{app}\VQA1.MIX')) then
    retCode:=RTPatchApply32(ExpandConstant('{app}\VQA1.RTP'), CallBack, TRUE)
  else
    MsgBox('Файл не найден', mbInformation, MB_OK);
end;

Кстати, в примерах (CodeDll.iss) вместо PChar используют String:
CODE
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer;
external 'MessageBoxA@user32.dll stdcall';

Может тебе тоже стоит попробовать?
CODE
function RTPatchApply32(cmdLine: String; CallBack: Cardinal; WaitFlag: boolean): Word;
external 'RTPatchApply32@12@patchw32.dll stdcall';
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 30th April 2026 - 21:33