forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   модули (http://forum.boolean.name/showthread.php?t=14039)

ViNT 20.03.2011 23:18

Ответ: модули
 
Точно не помню, но по-моему достаточно описать отдельный модуль с типами и подключить его к основной программе и к модулю, содержащему функцию.

AVL 21.03.2011 00:07

Ответ: модули
 
Проблема в том, что когда я описываю тип в модуле, то основная программа его не видит.

ViNT 21.03.2011 00:16

Ответ: модули
 
Цитата:

Сообщение от AVL (Сообщение 183358)
Проблема в том, что когда я описываю тип в модуле, то основная программа его не видит.

Увидит, если описать тип в разделе interface, а в главной программе написать
Код:

uses MyUnit;
 var x:MyUnit.MyType;


AVL 21.03.2011 15:19

Ответ: модули
 
В модуле uses указывается в implementation, а функции и переменные - раньше, в interface. Как тогда в модуле использовать типы из др. модуля?

ViNT 23.03.2011 14:51

Ответ: модули
 
А вот тут что-то странное, не получается так.

kizup 28.03.2011 10:06

Ответ: модули
 
Заметил такую вещь...почему нельзя использовать циклическое обращение к модулям, например так:
PHP код:

unit first;
....
uses second;
--------------------------------------
unit second;
....
uses first

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

Ksanatos 28.03.2011 13:47

Ответ: модули
 
2AVL
основная прога
Код:

uses
  MyUnit;
var
  VarWithTypeFromUnit : TypeFromUnit;

begin
  VarWithTypeFromUnit:=10;
  VarFromUnit:=VarFromUnit+'bla-bla';
end.

модуль
Код:

unit MyUnit;
interface
  type
    TypeFromUnit : integer;
  var
    VarFromUnit : string;

  procedure ScUnitInit;

implementation
  uses
    MyScUnit; // ответ на второй вопрос в посте 19

  procedure ScUnitInit;
  begin
    VarFromUnit:=ScUnitFunc;
  end;
end.

второй модуль
Код:

unit MyScUnit;
interface
  function ScUnitFunc : string;

implementation
  function ScUnitFunc : string;
  begin
    ScUnitFunc:='bla-bla ';
  end;

end.

2kizup
вроде бы в мп2 рекурсия модулей не реализованна, по крайней мере она там не работает. Насчет 3 версии не знаю, не проверял, но в хелпе ничего нового не замечал об этом.


Часовой пояс GMT +4, время: 00:13.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot