2012-11-18 98 views
0

更多Pascal困境。Pascal:完全將模塊導入當前範圍

說我有2臺,MainUnitExampleClass

MainUnit:

Unit MainUnit; 

interface 

Uses ExampleClass; 

function ReturnFive: Integer; 

implementation 

function ReturnFive: Integer; 
begin 
    ReturnFive := 5; 
end; 

begin 
end. 

ExampleClass中:現在

Unit ExampleClass; 

{$mode objfpc} 

interface 

type 
    ClassThing = Class 
    SampleValue: Integer; 
    end; 


implementation 

begin 
end. 

,我想只導入MainUnit,但仍然能夠使用ClassThingMainUnituses ExampleClass,但當您導入MainUnit時,ClassThing不可用。

我真的不想只是useExampleClass連同MainUnit,我寧願保留在一個uses聲明。

你是如何做到這一點的?

+0

您不能。但是,如果您只需要訪問ClassThing,則不必使用* MainUnit。 –

+0

@SertacAkyuz所以你只需要將所有東西打包到一個文件中,或者使用一堆不同的模塊? :( –

+0

是的,這是正確的。 –

回答

1

type ClassThing = ExampleCLass.ClassThing; 

在mainunit的接口。

的原則也適用於consts,但只有「真實」的人(不是類型的人這是更初始化增值經銷商):

const myconst = unitname.myconst; 

幾乎所有我的大量使用類型相似的別名,所以我可以輕鬆地在不改變所有商業代碼單元中的使用條款的情況下移動它們的位置