Перейти к содержимому
Zone of Games Forum

EDIsaev

Новички
  • Публикации

    2
  • Зарегистрирован

  • Посещение

Репутация

0 Нейтральная

О EDIsaev

  • Звание
    Новичок
  1. UnityEX

    Не то чтобы винда, этот баг описан на сайте борланда уже очень давно патчится примерно так Function FixDefaultUserCodePageBug(Image:Pointer;Size:Integer;CodePage:Integer) :Boolean;Type TRelMov=Packed Record MovOp:Word;//mov [xxxxxxxx],xxxxxxxx VarAddr:DWord;//DefaultUserCodePage Value:DWord;//3 End; TCode=Packed Record CallOpA:Byte;//$E8 OffsetA:Integer;//GetThreadLocale CallOpB:Byte;//$E8 OffsetB:Integer;//LCIDToCodePage MovOp:Byte;//$A3 VarAddr:DWord;//DefaultUserCodePage End; TCodes=Packed Record Jmp:Word;//jz +$2d ($2d74) Code:Array[0..15] Of Byte;//GetVersion check RelMov:TRelMov;//DefaultUserCodePage := 3 Jmp2:Word;//Short jump Code1:TCode;//NT4 Jmp3:Word;//Short jump Code2:TCode;//Win95/98/ME End;Var Code:^TCodes;Begin Result:=False; Code:=Image; While Size>SizeOf(TCodes) Do Begin With Code^ Do If (Jmp=$2D74) And (RelMov.MovOp=$05C7) And (RelMov.Value=3) And (Code1.CallOpA=$E8) And (Code1.CallOpB=$E8) And (Code1.MovOp=$A3) And (Code2.CallOpA=$E8) And (Code2.CallOpB=$E8) And (Code2.MovOp=$A3) And (Code1.OffsetA-Code1.OffsetB=Code2.OffsetA-Code2.OffsetB) And (Code1.VarAddr=Code2.VarAddr) And (Code1.VarAddr=RelMov.VarAddr) Then Begin RelMov.Value:=CodePage; Jmp:=$EB12; Result:=True; Break; End; Inc(PByte(Code)); Dec(Size); End;End; можно пропатчить сам экзешник, а можно саму дельфи, чтобы всегда корректно собирала проекты
  2. UnityEX

    В Delphi 7 есть стандартный баг с юникодом, пропачте Delphi иначе системы с нестандартными кодовыми страницами "криво" отображают кириллицу: --------------------------- UnityEX --------------------------- Îòñóòñòâóåò ôàéë: C:\Users\...\Unity_Assets_Files\resources\resources.resource\ --------------------------- OK --------------------------- вместо "Отсутствует файл"
Zone of Games © 2003–2024 | Реклама на сайте.

×