Как установить Tntcontrols в Delphi7 - PullRequest
0 голосов
/ 20 января 2020

Я новичок в Delphi, мне нужен пакет TntContols в моем проекте, загрузите TntContols в https://github.com/pitfiend/TntControls, установите TntUnicode-master\Delphi\d7TntUnicodeVcl_D70.dpk, затем перетащите TntButton в форму и запустите мой приложение, но с ошибкой:

[Fatal Error] Unit1.pas(7): File not found: 'TntStdCtrls.dcu'

код ниже:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TntStdCtrls;

type
  TForm1 = class(TForm)
    btn1: TTntButton;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

1 Ответ

1 голос
/ 20 января 2020

По умолчанию файлы BPL и DCU, поставляемые с D7, устанавливаются в папки .LIB и .BIN, соответственно, ниже основной папки Delphi, которую я буду называть \ D7.

Лучше не устанавливать другие компоненты в эти папки. Причина в том, что в конце концов, когда вы устанавливаете дополнительные сторонние библиотеки, вы, вероятно, столкнетесь с ошибкой компиляции «Модуль Y был скомпилирован с другой версией модуля Y», что может потребовать переустановки Delphi, если файлы в участвуют папки BIN и LIB. На самом деле, эта проблема обычно возникает после того, как вы скомпилировали проект, который настроен так, что он без необходимости имеет доступ к файлам .PAS библиотеки (поскольку IDE не нужен доступ к .PAS библиотеки во время компиляции проекта, использующего библиотеку). , если он может найти файлы библиотеки .DCU).

Многие сторонние библиотеки включают (как минимум) два файла .DPK, один из которых представляет собой так называемый пакет времени выполнения, а другой - дизайн пакет Пакет времени разработки - это пакет, который вы устанавливаете в IDE для установки компонентов библиотеки, а пакет времени выполнения содержит подпрограммы, от которых зависят те, которые находятся в пакете времени разработки. Если проект, использующий библиотеку, не скомпилирован для использования пакетов времени выполнения, пакет времени выполнения не используется в процессе компиляции проекта (но будут использоваться файлы .DCU с аналогами, поэтому для их поиска необходимо настроить IDE). ,

То, что я всегда делал для сторонних библиотек D7, у которых нет собственного установщика, выглядит следующим образом:

  1. Единовременно: создание папки \ D7 \ Lib2. Добавьте его в путь к вашей ОС.

  2. Для каждого файла .DPK в библиотеке, которую вы установите sh:

    a. Откройте файл .DPK в IDE и отредактируйте его выходные папки BPL и DCU в \ D7 \ LIB2. Сделайте это, нажав кнопку Options в редакторе пакетов и во всплывающем окне «Параметры проекта», на вкладке Directories/Conditionals установите «Выходной каталог», «Выходной каталог единиц» и «Выходной каталог DCP» на \D7\LIB2

    б. Скомпилируйте пакет, нажав кнопку Compile, затем установите его в IDE, нажав кнопку Install, если она включена.

    c. Закройте редактор пакетов (.DPK).

  3. Откройте ваш проект, который должен использовать библиотеку, и отредактируйте его путь поиска, включив \ D7 \ LIB2, но НЕ путь к .PAS библиотеки. файлы.

  4. Скомпилируйте ваш проект.

Примечания:

Обратите внимание, что в блок не добавляется путь к исходный код (файлы .PAS) библиотеки для вашего проекта. В этом нет необходимости, если вы выполняете вышеуказанные шаги и только можете (в конечном итоге) привести к возникновению ошибки «Модуль Y был скомпилирован ...», о которой я упоминал.

Вышеуказанный метод также работает с последними Delphi версий, хотя для этого необходимо больше щелкать мышью, поскольку автономный редактор .DPK был удален из IDE.

...