2013-12-18 4 views
0

Я пытаюсь вызвать блок внутри устройства в паскале. Это возможно?Вызывающие устройства внутри устройства

У меня есть блок RailFence и другой блок fileHandlingRailfence

Внутри fileHandlingRailfence, я хочу, чтобы процедуры и функции, доступные RailFence без необходимости копировать и вставлять всю функцию снова. Тем не менее, я получаю сообщение об ошибке при добавлении его в мой список использования.

uses 
    SysUtils; 
    railFence in 'RailFence.pas'; 

Ошибка я получаю

[DCC Error] FileHandlingRailfence.pas(15): E2029 Declaration expected but identifier 'RailFence' found 
[DCC Fatal Error] Proj_RailFence.dpr(7): F2063 Could not compile used unit 'FileHandlingRailfence.pas' 

Любые идеи о том, является ли это вообще возможно?

+1

Пожалуйста, обратите внимание на описание тегов, прежде чем использовать их. Единицы Delphi не имеют ничего общего с «единицами измерения». Правильная маркировка ваших вопросов помогает привлечь их к тем, кто может помочь, и правильно их классифицировать при поиске на этом сайте. Благодарю. –

+0

Несомненно, вы можете посмотреть в верхней части любой единицы, сгенерированной IDE (например, на верхней части любого элемента формы) и посмотреть, как синтаксически выполняется предложение uses? 'File-> New-> Form' или' File-> New-> VCL Forms Application' из главного меню, например. –

+0

Синтаксис 'unit-identifier в 'unit-file-name'' является quirk и доступен только для файлов проекта. –

ответ

6

Синтаксис для использования нескольких устройств: uses Unit1, Unit2, Unit3;. Вы используете точку с запятой.

Delphi разрешает только in (uses Unit1 in 'Unit1.pas';) в файлах проектов, IIRC. Предполагая, что оба блока добавлены в ваш проект, внутри fileHandlingRailfence.pas вы можете просто использовать uses SysUtils, railFence; без указания имени файла устройства.

0

вам нужна запятая, а не точка с запятой:

uses sysutils, railfense; 
Смежные вопросы