Ada:包链接错误

Ada: package linking error

我的项目有问题。 链接包和任务可见性的问题。

在bufor1.ads

package bufor1 is
    task type Bufor is
        entry Przyjmij(Wyrob: in Typ_Wyrobow; Numer: in Integer);
        entry Wydaj(Zestaw: in Typ_Zestawow; Numer: out Integer);
    end Bufor;
end bufor1;

在另一个广告文件中,我想这样调用 Wydaj 函数:

with bufor1; use bufor1;
...
bufor1.Bufor.Wydaj(Rodzaj_Zestawu, Numer_Zestawu);

导致错误的原因:

invalid use of subtype mark in expression or call

我是 ADA 的新用户。预先感谢您的宝贵时间。 你好。

您正在尝试调用 task type,而不是任务对象。 要么使它成为一个任务对象(匿名任务类型):

task Bufor is

或创建任务对象:

foo : bufor1.Bufor; ... foo.Wydaj(Rodzaj_Zestawu, Numer_Zestawu);