Fatal error internal error l681

VPF:: - Форум программистов Vingrad


Форум программистов Vingrad

Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы
Создание опроса
> [Fatal Error] Internal error: L681 

:(

   

Опции темы

Dmitry_177
Дата 15.5.2007, 19:48 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет

Delphi 7, Windows XP
При компиляции очень часто возникает: [Fatal Error] Internal error: L681 но потом если ничего не меняв опять запустить компиляцию то все проходит нормально.. подскажите что это может быть?

PM MAIL   Вверх
Dmitry_177
Дата 15.5.2007, 22:36 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет

А еще я заметил если Delphi выключить когда в процессе работы выскакивала вот эта ошибка, то после того как она закроется выскакивает куча ошибок в MessageBox-е.. Приходится через диспечер задачь выключать процесс delphi32.exe

PM MAIL   Вверх
drkot
Дата 16.5.2007, 00:00 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Ищущий
***

Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8

Скорее всего кривенькие компоненты (эксперты) используеш, которые в режиме разработки юзают ole.

———————

Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.

PM   Вверх
Dmitry_177
Дата 16.5.2007, 11:05 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет

drkot,  стандартные vcl-компоненты.. все из поставки с Delphi, ниодного со стороны..=)

PM MAIL   Вверх
Snowy
Дата 16.5.2007, 11:14 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484

Закрой текущий unit и открой заново

PM MAIL   Вверх
drkot
Дата 16.5.2007, 13:56 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Ищущий
***

Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8

С Twebbrowcer или другими activex, работаеш?

———————

Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.

PM   Вверх
Dmitry_177
Дата 16.5.2007, 16:41 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет

Цитата
С Twebbrowcer или другими activex, работаеш?

нет, и без всяких activex-ов.. У меня обычная программа.. стандартные кнопки Edit-ы, и еще StringGrid да и PageControl. Но программа еще использует Soket-ы, функции напрямую из библиотеки WinSock, т.е. безовсяких компонентов..

А еще блин говорят что семерка самая устойчивая…

Интересно а Borland там не собирается создавать обновление для Delphi 7? Неужели они уже закончили ее поддержку?

PM MAIL   Вверх
lukas
Дата 16.5.2007, 18:03 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=892

———————

http://code.google.com/p/orionphp/ — opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.

PM MAIL WWW   Вверх
Dmitry_177
Дата 16.5.2007, 18:47 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет

Нашел в интернете Delphi 7 Second Edition v7.2, это таже семерка только новее??? У меня стоит Delphi 7 Enterprise 7.0(Build 8.1) с первым обновлением, так вот Delphi 7 Second Edition v7.2 получается новее??? Может ее поставить, вдруг не будет этой ошибки?

В чем различие в редакциях Second Edition и Enterprise?

PM MAIL   Вверх
Yanis
Дата 16.5.2007, 19:26 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111

Цитата(Dmitry_177 @  16.5.2007,  19:47 Найти цитируемый пост)
В чем различие в редакциях Second Edition и Enterprise? 

SE кажись пиратка smile

———————

user posted image *щёлк*

PM MAIL WWW ICQ   Вверх
Dmitry_177
Дата 16.5.2007, 19:57 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет

Кстати у меня действительно Finalize использовалось в коде.. как переделал на SetLength(.., 0) то все нормально стало =))) Спасибо! Ноу меня вопросик раз уж я уже заякнулся о Finalize и SetLength: Желательно ли после SetLength(.., 0) переменной массива присваивать nil? Массив у меня из Integer-ов

Добавлено через 2 минуты и 35 секунд
т.е. вот так:

Код

var
a: array of integer;

на протяжении работы программы массив расширяется или сужается..

а вот когда он стал ненужен или при выходе из программы:

SetLength(a, 0);
a := nil;  - желательно ли это?

PM MAIL   Вверх
Yanis
Дата 16.5.2007, 20:15 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111

Нет, если где то не стоит проверка на то что a может быть nil.
А уж при завершении программы тем более — не парься.

———————

user posted image *щёлк*

PM MAIL WWW ICQ   Вверх
Snowy
Дата 16.5.2007, 21:06 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
****

Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484

Цитата(Dmitry_177 @  16.5.2007,  19:57 Найти цитируемый пост)
SetLength(a, 0);
a := nil;  — желательно ли это?

Это допустимо, но не имеет смысла.
Сборщик мусора сам всё приберёт.

PM MAIL   Вверх



















Ответ в темуСоздание новой темы
Создание опроса
Правила форума «Delphi: Для новичков»
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) — крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »

 
Dmitry_177
 
(2007-05-15 20:22)
[0]

При компиляции очень часто возникает: [Fatal Error] Internal error: L681 но потом если ничего не меняв опять запустить компиляцию то все проходит нормально.. подскажите что это может быть?


 
Dmitry_177
 
(2007-05-15 23:35)
[1]

А еще я заметил если Delphi выключить когда в процессе работы выскакивала вот эта ошибка, то после того как она закроется выскакивает куча ошибок в MessageBox-е.. Приходится через диспечер задачь выключать процесс delphi32.exe


 
Loginov Dmitry ©
 
(2007-05-16 09:00)
[2]

Поищи в Гугле.
В D7 очень много касяков. Особенно это заметно при разработке больших проектов. Например, один известный касяк, парализующий работу компилятора D7 — это когда внутри процедуры объявляешь процедурный тип со строковыми параметрами по-умолчанию:

procedure Proc;
type
 TMyProc = procedure(S: string = "stroka");
begin
 {...........}
end;

Но просто так эту ошибку врядли воссоздашь — зависит от расположения звезд.


> то после того как она закроется выскакивает куча ошибок
> в MessageBox-е.. Приходится через диспечер задачь выключать
> процесс delphi32.exe

Этот баг вообще неотъемлемая часть Delphi 7. Без него Дельфи — не Дельфи :))


 
Влад
 
(2007-05-16 10:57)
[3]

Перейди на другой D. Там не будет этой ошибки, но будут другие :)


 
Dmitry_177
 
(2007-05-16 17:36)
[4]

А еще блин говорят что семерка самая устойчивая…

Интересно а Borland там не собирается создавать обновление для Delphi 7? Неужели они уже закончили ее поддержку?


 
clickmaker ©
 
(2007-05-16 18:02)
[5]


> При компиляции очень часто возникает: [Fatal Error] Internal
> error: L681

у меня не возникало почему-то
D7 Upd pack 1


 
Dmitry_177
 
(2007-05-16 19:46)
[6]

Нашел в интернете Delphi 7 Second Edition v7.2, это таже семерка только новее??? У меня стоит Delphi 7 Enterprise 7.0(Build 8.1) с первым обновлением, так вот Delphi 7 Second Edition v7.2 получается новее??? Может ее поставить, вдруг не будет этой ошибки?

В чем различие в редакциях Second Edition и Enterprise?


 
Anatoly Podgoretsky ©
 
(2007-05-16 20:59)
[7]

Это не Борланд, а ворованая, изуродованная Дельфи.
Держись от нее подальше. Волосы будут шелковистые.


 
Dmitry_177
 
(2007-05-16 21:34)
[8]

Я разобрался с этой проблемой:
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=892

А я какраз и использовал Finalize в программе, а сейчас все нормально =)


    msm.ru

    Нравится ресурс?

    Помоги проекту!

    Пожалуйста, выделяйте текст программы тегом [сode=pas] … [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.


    Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
    1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
    2. Как «свернуть» программу в трей.
    3. Как «скрыться» от Ctrl + Alt + Del (заблокировать их и т.п.)
    4. Как прочитать список файлов, поддиректорий в директории?
    5. Как запустить программу/файл?
    … (продолжение следует) …


    Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
    Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


    Внимание
    Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
    Повторная попытка — 60 дней. Последующие попытки бан.
    Мат в разделе — бан на три месяца…

    >
    [Fatal Error] Internal error: L681

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему



    Сообщ.
    #1

    ,
    01.07.05, 11:54

      Junior

      *

      Рейтинг (т): 4

      Привет всем!!!!!!!!
      при компиляции происходит ошибка

      [Fatal Error] Internal error: L681

      при повторной компиляции все нормально. А также эта ошибка происходит при выполнении Build All Projects

      Может кто знает что за ошибка? :wall:


      Voice



      Сообщ.
      #2

      ,
      01.07.05, 12:09

        у меня такая же хрень возникает.
        Началась еще в Д6 (номер ошибки уже не помню). После установки Д7 исчезла, но потом появилась вновь (номер вроде поменялся)
        из-за чего именно, сказать не могу — проект очень большой


        kanes



        Сообщ.
        #3

        ,
        01.07.05, 12:14

          user_for_all,Voice, почитайте хелп в разделе Internal Errors, может найдете ответ ;)


          user_for_all



          Сообщ.
          #4

          ,
          01.07.05, 12:15

            Junior

            *

            Рейтинг (т): 4

            У меня тоже большой проект. а работаю на D7.
            причем на навороченном компе это ерунда можно и повторно откомпилить, а вот если средний уже Дельфа не хочет вообще компелить. Что делать не знаю

            Сообщение отредактировано: user_for_all — 01.07.05, 12:16


            kanes



            Сообщ.
            #5

            ,
            01.07.05, 12:18

              Цитата user_for_all @ 01.07.05, 12:15

              вот если средний уже Дельфа не хочет вообще компелить. Что делать не знаю

              А перезапустить Delphi не помогает?


              user_for_all



              Сообщ.
              #6

              ,
              01.07.05, 12:21

                Junior

                *

                Рейтинг (т): 4

                Цитата

                А перезапустить Delphi не помогает?

                Тень непомагает

                Voice

                дело в том что в Help’e написанно приблезительно следующее

                ExpandedWrap disabled

                  var

                   A : Integer;

                  begin

                  { Below the second cast of A to In64 is unnecessary; removing it can avoid the Internal Error. }

                     if Int64(Int64(A))=0 then

                  end;

                т.е. приведение типов.

                да но у меня в коде только лишь в одном месте встречается приведение типов. а ошибка возникает даже и при коментировании этого кода

                Добавлено 01.07.05, 12:23

                Сообщение отредактировано: user_for_all — 01.07.05, 12:25

                Guru

                volvo877



                Сообщ.
                #7

                ,
                01.07.05, 12:31

                  user_for_all, вот это прочти тоже:
                  Internal error L470, L681

                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                  0 пользователей:

                  • Предыдущая тема
                  • Delphi: Общие вопросы
                  • Следующая тема

                  Рейтинг@Mail.ru

                  [ Script execution time: 0,0299 ]   [ 16 queries used ]   [ Generated: 12.02.23, 18:38 GMT ]  

                  Это перевод справочной системы Delphi.

                  Сообщение об ошибке Internal Error: X1234 указывает на то, что компилятор столкнулся с некоторой ситуацией, отличной от синтаксической ошибки, и он не может продолжить компиляцию.

                  Подсказка: в коде ошибки Internal error зашифрован файл и строка в исходниках компилятора, где возникла ошибка. Эта информация может помочь технической поддержке выявить проблему. Не забудьте записать эту информацию и прикрепить её к своему отчёту об ошибке.

                  Как избавится от Internal error

                  Если ошибка возникла сразу же после внесения вами каких-либо изменений в проект — откатитесь назад, до того момента, как вы начали менять код. Отметьте, что вы при этом меняли.
                  Если вы закомментарили/удалили свои изменения и после этого ваш проект успешно скомпилировался, то возможно, что программный код, который вы написали, выявил глюк в компиляторе. Если это так, выполните перечисленные ниже через один пункт действия.

                  Если проблема всё ещё существует

                  • Удалите все .dcu(il) файлы, связанные с вашим проектом.
                  • Полностью закройте ваш проект (File/Close all).
                  • Заново откройте свой проект. Это очистит кэш модулей в IDE. Как вариант — вы можете перезапустить IDE.
                  • Ещё вариант — попробовать перекомпилировать приложения используя команду Build (а не Compile) — при этом компилятор пересоздаст все dcu(il) файлы.

                  Если ошибка не уходит, закройте IDE и попробуйте перекомпилировать приложение, используя компилятор командной строки (dcc(il).exe). Это исключит из рассмотрения кэширование юнитов в IDE.

                  Проанализируйте свой код от последнего изменения

                  Если проблема ещё актуальна, вернитесь к тому месте в коде, где вы последний раз что-то меняли и просмотрите свой код. Обычно, большинство ошибок internal error могут быть воспроизведены всего несколькими строками кода и часто при этом код использует синтаксические конструкции, которые используются довольно редко. В этом случае, попробуйте модифицировать код, чтобы он выполнял свою работу, но другим способом. Например, если вы используете приведение типа в выражении, попробуйте объявить переменную нужного типа и сначала присвоить ей значение, а уж потом использовать её в выражении:

                  begin
                      if Integer(b) = 100 then...
                  end;
                  var
                   a: Integer;
                  begin
                    a := b;
                    if a = 100 then...
                  end;

                  А вот пример неожиданного кода, который вы можете исправить для избавления от ошибки:

                  var
                      A : Integer;
                  begin
                   { Второе преобразование A в Int64 не нужно; если вы уберёте его, это может избавить вас и от Internal Error. }
                   if Int64(Int64(A))=0 then
                  end;

                  Если проблема связана с циклом while…do — попробуйте заменить его на for…do. Хотя эти изменения не исправляют глюк компилятора, они могут помочь вам продолжать работать над своим приложением. Если ваши изменения избавляют вас от ошибки, это не значит, что все while или for циклы глючат — скорее вы используете их несколько необычным образом.

                  Как только вы смогли изолировать проблему — было бы не плохо сделать минимально возможный тестовый пример-проект, который демонстрирует возникновение вашей ошибки и выслать его на Quality Central.

                  Другие способы для избавления от ошибок internal error

                  • Если проблема связана с циклами — попробуйте поменять for на while/repeat или наоборот.
                  • Если проблема возникает во вложенных функциях — попробуйте сделать их глобальными.
                  • Если проблема возникает в приведении типов — попробуйте воспользоваться другим, аналогичным по смыслу приведением или используйте временные переменные.
                  • Если проблема возникает в операторе with — попробуйте его убрать и расписать явно.
                  • Попробуйте выключить оптимизацию (Project/Options/Compiler).

                  Когда ничего не получилось

                  Обычно есть множество различных кусков кода, которые могут добиться нужной вам цели. Вы можете попробовать избавиться от ошибки, меняя код. Попробуйте просто переписать код с нуля, чтобы он выполнял вашу задачу, но делал это просто по-другому. Может быть, выбранное решение и не будет оптимальным, но по-крайней мере вы сможете продолжать работу над своим приложением.
                  Если у вас есть последняя версия компилятора — проверьте свой код в ней. Если проблема воспроизводится — отправьте, как и ранее, в Quality Central минимальную демку проблемы. Если же проблемы нет — то значит, этот глюк компилятора уже был исправлен.

                  Конфигурация IDE для минимизации шанса возникновения internal error

                  Создайте один каталог, где будут лежать все ваши файлы .dcp(il). Например, создайте каталог C:DCPIL ив Tools Environment/Options/Library установите DCP(IL) output directory в C:DCPIL. Эта настройка гарантирует, что все .dcp(il) файлы, генерируемые компилятором пойдут в одну папку и, таким образом, будут самыми свежими. Это полезная опция, если вы перемещаете пакет из одного каталога в другой. Вы можете создать каталог и для .dcu(il) файлов, используя Project/Options/Directories/Conditionals/Unit output directory.

                  Смысл этих изменений в том, чтобы всегда использовать самые свежие версии ваших .dcu(il) и .dcp(il). В противном случае, вы можете встретиться с ошибками internal error.

                  creater

                  1

                  Как правильно компилировать программу в Дельфях???

                  27.10.2009, 13:05. Показов 6497. Ответов 19


                  Народ, подскажите как компилировать прогу чтобы она не занимала дико много. Форма с парой кнопок, таблицей занимает 1.8Мб.
                  Залез в ехе-файл, а там левых иконок… Которые вообще никогда не пригодятся, видимо не видимо.

                  Помогите не дайти сойти с ума
                  Заранее большое спасибо.

                  __________________
                  Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

                  0 / 0 / 0

                  Регистрация: 26.10.2009

                  Сообщений: 14

                  29.10.2009, 02:27

                  2

                  Я в этих делах не очень хорошо разбираюсь, но причина тому — VCL (Visual Components Library). Делфи сама построена по технологии RAD (Rapid Application Development), поэтому большой размер файла — плата за отказ от немерянных размеров кода аналогичной программы но, скажем, в MS Visual Studio. Мусора в EXE-шнике действительно много, но от него никуда вроде бы не деться. Разве что заменить VCL на KOL библиотеку. Кстати сам компилятор в Делфях очень сильный: при прямом Windows программировании (текста выходит как в Visual С++) при оптимизированных настройках в Delphi 7 exe-шник пустого цикла у меня вышел на 1.5 kb меньше, чем из Visual C++ 7.0. .

                  Вероника.



                  0



                  creater

                  29.10.2009, 07:01

                  3

                  Спасибо Вероника за ответ :-)

                  К библиотеке KOL Я давно присматириваюсь, даже пробывал использывать ее … Но есть ряд вопросов которые Я пока не решил, несмотря на то, что Я читал FAQ. Например как в KOL организовывать отображение БД …

                  Главное для меня, это конечно отобоажение на форме БД. Если Вы сможете как-то мне помочь в этом деле то, буду Вам очень признателен.

                  Заранее большое спасибо

                  0 / 0 / 0

                  Регистрация: 26.10.2009

                  Сообщений: 14

                  29.10.2009, 21:42

                  4

                  Я бы с удовольствием помогла Вам, Creater, но СУБД ох как не моя стихия , вообще-то я использую Delphi только как инструмент для построения OpenGL приложений, но настоятельно реккомендую вот такие линки:

                  http://delphi.mastak.ru
                  http://kol.mastak.ru
                  Здесь глобально вложились в проблему минимизации приложений по объёму и кажется не минули СУБД.

                  http://tek-tips.com
                  Самый крупный зарубежный форум, ответы приходят в течении нескольких часов, есть специальная группа специалистов для ответов, может там подскажут иные пути минимзации…

                  В любом случае Удачи )))))).
                  Вероника.



                  0



                  3926 / 2844 / 660

                  Регистрация: 08.06.2007

                  Сообщений: 9,641

                  Записей в блоге: 4

                  29.10.2009, 22:59

                  5

                  Размер exe-файла можно уменьшить, но тогда его нельзя будет запускать без набора dll, которые нужно будет распространять вместе с приложением. Это нужно зайти Project -> Options и там вкладка Packages. В ней нужно установить чекбокс Build with runtime packages.



                  0



                  creater

                  29.10.2009, 23:17

                  6

                  Извините, но могли бы Вы пояснить, что означает включение данного чекбокса? Прочто при его вкл активизируется строка с кучей библиотек которые мне вообще не нужны … вроде — xmlrtl, inet …
                  И при компиляции выдается ошибка — ‘Internal Error: LA30’

                  Ни разу не встречал такую ошибку…

                  3926 / 2844 / 660

                  Регистрация: 08.06.2007

                  Сообщений: 9,641

                  Записей в блоге: 4

                  29.10.2009, 23:41

                  7

                  Включение данного чекбокса означает, что будут использованы перечисленные dll а соответствующий код не будет присутствовать в exe-файле. Что это за пакеты и за что они отвечают, я и сам не знаю. Возможно их можно просто отключить, используя список, находящийся выше на этой же вкладке.

                  Что же касается ошибки, то могу описать, что происходит у меня. У меня Delphi 7 Enterprise. Пустая форма компилируется в exe-файл 368128 байт. Если подключить пакеты времени выполнения (Runtime Packages) то получается файл 16896 байтов.

                  Наверно, выяснить подробности можно на специализированных форумах
                  http://delphi.mastak.com/ и http://delphi.vitpc.com/ А может и здесь кто-нибудь пояснит, как работать с пакетами.



                  0



                  creater

                  29.10.2009, 23:58

                  8

                  Скажите, а эти… библиотеки нужно будет копировать на машину другого пользователя что бы работал мой ехе-файл.
                  Просто Я сделал как Вы выше описывали, скомпилировал пустую форму… затем отдельно запустил ехе-файл, но в том месте где он был не было ни одной библиотеки.

                  3926 / 2844 / 660

                  Регистрация: 08.06.2007

                  Сообщений: 9,641

                  Записей в блоге: 4

                  30.10.2009, 11:19

                  9

                  Эти библиотеки находятся в WINNT/SYSTEM32/ (файлы с расширением .bpl) У меня их 13 мегабайт. Нужны ли они все — не знаю.



                  0



                  creater

                  30.10.2009, 11:27

                  10

                  А что означает то, что они находятся в WINNT/SYSTEM32/?
                  Как быть относительно пользователя моей программы у еоторого нет никаких файлов относящихся к Делфи?

                  А библиотеки остаются только те которые в uses прописаны …

                  3926 / 2844 / 660

                  Регистрация: 08.06.2007

                  Сообщений: 9,641

                  Записей в блоге: 4

                  30.10.2009, 11:41

                  11

                  А ты сам пробуй. Вот я сейчас пустую форму компилил, отметив чекбокс. Текстовым редактором посмотрел в exe файле поиском расширения .bpl и выяснил, что он ссылается только на пакеты rtl70.bpl и vcl70.bpl. Если эти библиотеки убрать из system32, то программа не запускается. Если положить их, например, в ту же директорию, что и exe — запускается. Правда пакеты могут еще ссылаться друг на друга, например, vcl ссылается еще на что-нибудь и этот файл надо также учитывать как нужный. Короче надо работать и разбираться.



                  0



                  3926 / 2844 / 660

                  Регистрация: 08.06.2007

                  Сообщений: 9,641

                  Записей в блоге: 4

                  30.10.2009, 11:47

                  12

                  > А что означает то, что они находятся в WINNT/SYSTEM32/

                  Ну то есть файлы vcl70.bpl и другие с таким же расширением лежат в директории WINNT/SYSTEM32 (или WINDOWS/SYSTEM32, если у тебя система Windows 98).



                  0



                  3926 / 2844 / 660

                  Регистрация: 08.06.2007

                  Сообщений: 9,641

                  Записей в блоге: 4

                  30.10.2009, 11:50

                  13

                  Но по идее их можно положить в любую директорию, которая перечислена в переменной окружения PATH, либо в ту директорию, где находится exe, либо в рабочую директорию.



                  0



                  creater

                  30.10.2009, 11:54

                  14

                  Хлопотно с этими библиотеками … одна только vcl70.bpl 700 Кб весит. Тяжко … надо WinApi грысть или к KOL как то потступаться

                  3926 / 2844 / 660

                  Регистрация: 08.06.2007

                  Сообщений: 9,641

                  Записей в блоге: 4

                  30.10.2009, 19:07

                  15

                  А сколько весит операционная система? А вместе с Net Framework? Если отнестись к этим пакетам, как к части операционной системы, то всё не так страшно.



                  0



                  creater

                  30.10.2009, 19:32

                  16

                  Ну с операционкой сравнивать Я думаю не стоит, дабы не подвергнуть критике типа must die собственные программы
                  А размер программы, если бы это было на своей машине, нужно еще учитывать исходя из пересылки данного продукта через инет который не у всех через магистрали и т.д. … Да и в любом случае программы должны быть компактными …;-)

                  leska

                  24.12.2009, 21:49

                  17

                  Есть софтина такая — PeCompact называется. Очень даже неплохо помагает в таких случаях.

                  0 / 0 / 0

                  Регистрация: 04.11.2012

                  Сообщений: 10

                  09.01.2010, 19:53

                  18

                  PeCompact далеко не последняя в этом роде программа, есть еще наш ASPack, лучший (на мой взгляд) UPX и еще много подобных. Но если бы Вы знали как работает Windows (а вы ведь программисты, даже если начинаюшие — то должны учить то, где будете работать), то никогда бы не советовали побобных программ… А KOL это выход конечно, но лучше все же учить WinAPI.

                  З.Ы. И вообше не надо учиться программированию, пока слабо разбирается в компьютере, в том как он работает, тем более Windows’е.



                  0



                  leska

                  10.01.2010, 09:06

                  19

                  Хорошо. В PECompact, в частности, есть 2 способа уменьшения экзешника. Первый — чистка мусора из файла. Как он работает я точно не знаю (может кто просветит, и заодно расскажет, что в нем плохого). Второй — архивация файла. Т.е. протрамма в заголовок файла встраивает архиватор, и распаковывает его налету. Это требует немного больше памяти и времени. Если в наших условаиях эти параметры не столь критичны, то почему бы и не прибегнуть к этому способу?

                  З.Ы. может я ,конечно, чего-то не понимаю… Было бы интересно узнать, что именно.

                  creater

                  10.01.2010, 10:05

                  20

                  Лично Я для себя решил проблему размера исполняемого файла, пересев на CBuilder + архиватор upx. А вообще конечно нужно WinApi усилено юзать. Да и .NET надо познавать…

                  IT_Exp

                  Эксперт

                  87844 / 49110 / 22898

                  Регистрация: 17.06.2006

                  Сообщений: 92,604

                  10.01.2010, 10:05

                  20

                  Понравилась статья? Поделить с друзьями:

                  Читайте также:

                • Fatal error exception code c0000005 foxpro
                • Fatal error espasynctcp h no such file or directory
                • Fatal error err09 unsupported function
                • Fatal error cvt1100
                • Fatal error could not query file size for bfs archive

                • 0 0 голоса
                  Рейтинг статьи
                  Подписаться
                  Уведомить о
                  guest

                  0 комментариев
                  Старые
                  Новые Популярные
                  Межтекстовые Отзывы
                  Посмотреть все комментарии