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

Вниз

Маленькой приложение с Build with runtime packages   Найти похожие ветки 

 
Bopros   (2006-01-06 13:43) [0]

написал приложение:
program project1;

begin
 while true do begin
   end;
end.

я так понимаю оно vcl не использует, поэтому поставил галочку
Build with runtime packages
Приложение стало меньше, но при запуске в windows без делфи выдаёт ошибку:
"Приложению не удалось запуститься, поскольку rtl60.bpl не был найден."

если я пишу приложение на API без использования vcl то галочку Build with runtime packages можно поставить или я не прав?


 
Reindeer Moss Eater ©   (2006-01-06 14:11) [1]

Можно ставить эту галочку.


 
Bopros   (2006-01-06 14:20) [2]

повторюсь - тогда на чистой винде вылазеет сообщение
Приложению не удалось запуститься, поскольку rtl60.bpl не был найден.
зачем ей бпл если я всл не использую?


 
Sergey_Masloff   (2006-01-06 14:39) [3]

Ты не можешь в Delphi отказаться от использования System.pas - он неявно включается в любой проект. Ну а у него есть секция инициализации и далее по списку Ж-)


 
Reindeer Moss Eater ©   (2006-01-06 14:46) [4]

повторюсь - тогда на чистой винде вылазеет сообщение

А как ты хотел?
Приложению нужен пакет rtl60.bpl, а его нет.


 
Sergey_Masloff   (2006-01-06 14:50) [5]

Вобщем, много можно говорить давай остановимся на
1) Некоторые rtl-функции  используются неявно ЛЮБЫМ приложением delphi даже

begin
end.


2) Если галочка поставлена то эти функции не линкуются в файл программы. Вместо этого программа попытается при запуску подгрузить DLL (в данном частном случае BPL ) с реализацией. Если не удалось то облом

3) Если галочку не стаить все прилинкуется в 1 исполняемый файл и будет работать не требуя пакетов.


 
Sergey_Masloff   (2006-01-06 14:58) [6]

Ну и вдогонку. Сделай tdump YourProject.exe >outfile.txt
для файла с рантайм пакетами и без. И сравни выходные файлы. Увидишь интересный фрагментик


Section:             Import
 ImportLookUpTblRVA:00000000
 Time Stamp:        00000000
 Forwarder Chain:   00000000 (index of first forwarder reference)

Imports from rtl70.bpl
                 __fastcall System::initialization()
                 __fastcall System::Finalization()
                 __fastcall System::RegisterModule(System::TLibModule *)
                 System::__linkproc__ __fastcall Halt0()
                 System::__linkproc__ __fastcall StartExe(System::PackageInfoTable *, System::TLibModule *)
                 System::__linkproc__ __fastcall HandleFinally()
                 System::IsConsole

Imports from kernel32.dll
                 GetModuleHandleA


 
Sandman29 ©   (2006-01-06 15:13) [7]

есть rtl60.bpl, есть vcl60.bpl. программы без vcl не требуют второго, но все равно требуют первого


 
Reindeer Moss Eater ©   (2006-01-06 15:14) [8]

так а первый и не является vcl


 
Bopros   (2006-01-06 17:20) [9]

спасибо за разъяснения, понял



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
14-1135437829
Omar2002
2005-12-24 18:23
2006.01.22
К новому году


3-1132771300
alexmember
2005-11-23 21:41
2006.01.22
Задержка отображения записей на pentium 3


2-1136021227
BVV
2005-12-31 12:27
2006.01.22
ADOTable


4-1131958325
Чапаев
2005-11-14 11:52
2006.01.22
Отловить момент запуска приложений


2-1135836643
ezorcist
2005-12-29 09:10
2006.01.22
ListBox с картинками





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский