![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Научите правильно описывать процедуру. 
		
	
		
		
		
		
		
	
		
		
	
	
	Доброе время суток. Научите правильно описать процедуру, а то что-то я сосем запутался. Для примера, вот я засел на одной. Есть дата модуль(не визуальная форма), на нем размещен не визуальный компонент для подключения к базе данных. Хочу теперь в дата модуле описать свою процедуру. Как ее правильно описать? Как часть этого дата модуля — ДатаМодуль.МояПроцедура или просто МояПроцедура, но тогда к компоненту в моей процедуре мне приходится обращаться ДатаМодуль.Компонет что несколько неудобно. Второй момент. Как правильно вызвать мою процедуру с другого модуля программы. Спасибо  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Код: 
	unit Unit2;
interface
uses
  SysUtils, Classes, DB, DBTables;
type
  TDataModule2 = class(TDataModule)
    Database1: TDatabase;
  private
    { Private declarations }
  public
    { Public declarations }
    procedure Connect;
  end;
var
  DataModule2: TDataModule2;
implementation
{$R *.dfm}
{ TDataModule2 }
procedure TDataModule2.Connect;
begin
  Database1.Connected:=True;
end;
end.Код: 
	unit Unit1; interface uses Unit2, ... begin DataModule2.Connect; end;  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Вроде все как Вы сказали. Но ошибка. Я указал где ругается. 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	unit DataMain;
interface
uses
  SysUtils, Classes, FIBDatabase, pFIBDatabase;
type
  TdmMain = class(TDataModule)
    dbDataBase: TpFIBDatabase;
  private
    { Private declarations }
  public
    { Public declarations }
    procedure Login(R: Boolean); <-- здесь ругается Unsatisfied forward or external declaration: 'TdmMain.Login'
  end;
var
  dmMain: TdmMain;
implementation
{$R *.dfm}
procedure Login(R: Boolean);
begin
  if dmMain.dbDataBase.Connected then
    dmMain.dbDataBase.Connected := False;
  with dmMain.dbDataBase.ConnectParams do
    begin
      UserName := 'SYSBDA';
      Password := 'masterkey';
      //RoleName := urole;
    end;
  dmMain.dbDataBase.DBName  := '';
  dmMain.dbDataBase.Connected := True;
  R := dmMain.dbDataBase.Connected;
end;
end. | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 см. внимательно: 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Код: 
	procedure TdmMain.Login(R: Boolean);  | 
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
 
kot275 (08.10.2012)
  | ||