Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi 10 проблемы с компиляцией SysInit.pas [Delphi, Windows]


XProger ©   (2006-05-12 20:11:00) 

Вчера решил попробовать скомпилировать вышеуказанный модуль в dcu, для последующей замены стандартного. В итоге получил сообщение об ошибке:
SysInit.pas(1) Fatal: E2272 Cannot use reserved unit name 'SysInit'
Причём, System.pas компилируется без проблем. Я так понимаю, что это защита от изменения этих строк
{$IFDEF TRIAL_EDITION}
Evaluation name 'This module was compiled with an evaluation version of Borland Delphi',            // do not localize
{$ENDIF}
 Copyright name 'Portions Copyright (c) 1983,2002 Borland Software Corporation';                     // do not localize

в SysInit.pas? :)

Вопрос: существует ли возможность компилирования (или отключения ;) SysInit.pas в Delphi последней версии (в составе BDS 2006)?


LAutour   (2006-05-19 07:37:00) [1]

Хм. Облегченный до 70Мб bds2006.
http://warezteam.ws/2006/04/03/print:page,1,Borland_Delphi_2006_Lite_3.0.html


LAutour   (2006-05-19 06:34:00) [2]

Как бы еще поставить этот bds2006 не имея .Net SDK?


Vladimyr   (2006-05-18 23:58:00) [3]

Шаманство какое-то! :)
Ну ладно, попробую (как только bds2006 докачаю).
Спасибо.


XProger   (2006-05-17 16:48:00) [4]

Есть 4 файла:
SysInit.pas unit SysInit;

interface

var
 TlsIndex: Integer = -1;      
 TlsLast: Byte;
 
const
 PtrToNil: Pointer = nil;

implementation

end.

System.pas unit System;

interface
 
procedure _HandleFinally;
procedure _InitExe;
procedure _InitLib(Context: Pointer);
procedure _halt0;
procedure ExitProcess(Code: Cardinal); stdcall; external 'kernel32.dll';

type
 TGUID = record end;
 
implementation

procedure _HandleFinally;
asm
end;

procedure _InitExe;
asm
end;

procedure _InitLib(Context: Pointer);
asm
LEAVE
RET 12
end;

procedure _halt0;
begin
 ExitProcess(0);
end;

end.

prog.dpr program prog;

begin
end.

prepare.bat dcc32 prog.dpr -m -y
dcc32 prog.dpr


Кидаем к ним компилятор (dcc32.exe) и запускаем prepare.bat


Vladimyr   (2006-05-16 10:05:00) [5]

Можно пояснить для новичков, как скомпилировать системные модули для замены
(или выложить изменённые dcu, как это делалось для Delphi 5 и 7)?


Thaddy   (2006-05-13 10:08:00) [6]

Yes, only with dcc32.exe

and the size is with ALL 32 bit delphi versions when you tweak system ;)


XProger   (2006-05-13 02:31:00) [7]

Thaddy, thx :)

make.bat
dcc32 prog.dpr -m -y
dcc32 prog.dpr


Оказывается, компилятор Delphi 10, при компиляции dpr автоматически компилирует в dcu System.pas и SysInit.pas лежащие рядом с ним :)

Проблема решена.

P.S.
 Delphi 10 компилит exe размером в 4 кб (3.5 без RCData :)


Thaddy   (2006-05-12 23:02:00) [8]

No.

Sysinit.pas is actually *used* by system.pas.

In the trial editions you can't do that.

btw: doesn't belong here.

btw2: kol works only in PAS_VERSION mode in D 10 (as I explained before)
In that case there are no real problems.


Наверх

Титульная страница Поиск, карта сайта Написать письмо