Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Вниз

Юниты   Найти похожие ветки 

 
Steep ©   (2007-04-20 11:28) [0]

Не подскажете как использовать события (клики на клавиши например) функции и процедуры находящиеся в другом юните?

uses Unit2; я прописал

Пытаюсь использовать как

Form2. здесь имя процедуры... не помогает...


 
Ega23 ©   (2007-04-20 11:31) [1]

Ещё раз с начала, только внятно и подробно.


 
ЮЮ ©   (2007-04-20 11:35) [2]

Form2. здесь имя процедуры... не помогает...

Кто не помогает? Чем не помогает? Почему решил, что не помогает?
Лучше покажи, что реально написал, чем диагноз бессмысленный.


 
Desdechado ©   (2007-04-20 11:40) [3]

События не в юнитах, события в винде. А обработчики их - в классах. Чтоб обработчик задейстовать, нужно сначала экземпляр класса создать (обычно), а уж потом обработчик запускать.


 
Steep ©   (2007-04-20 11:42) [4]

Второй юнит

unit AddUnit;
............
private
   { Private declarations }
   procedure FastButtonClick(Sender: TObject);
.................
var
 Frm_Add: TFrm_Add;
.................
//Щелчек по клавише
procedure TFrm_Add.FastButtonClick(Sender: TObject);
var
 i: byte;
 path: string;
begin
 for I := 1 to 5 do
 begin
   Path := (Sender as TPathButton).PathArray[i];
   if path<>"" then
     Showmessage(Path);
     //ShellExecute(handle, "open", Path, NULL, NULL, SW_SHOWNORMAL);
 end;
end;


В основном юните пишу
......
implementation

uses AddUnit;
......
Frm_Add.FastButton

А токого синтаксиса нет...


 
Steep ©   (2007-04-20 11:43) [5]

Перенос в паблик так же не помогает...


 
Ega23 ©   (2007-04-20 11:45) [6]

private
  { Private declarations }
  procedure FastButtonClick(Sender: TObject);


А фигли ты хотел? Это же private-метод.
Быстро марш за книгу, читать что такое private, protected, public и published


 
stakan ©   (2007-04-20 11:49) [7]


> Frm_Add.FastButton
> А токого синтаксиса нет...

Frm_Add.FastButton(SomeObj);?
После
> Перенос в паблик
естественно.


 
Steep ©   (2007-04-20 11:49) [8]


> Быстро марш за книгу, читать что такое private, protected,
>  public и published


> Перенос в паблик так же не помогает...


 
Steep ©   (2007-04-20 11:51) [9]

т.е. оставить Frm_Add.FastButton без Sender: TObject?


 
Steep ©   (2007-04-20 12:28) [10]

так где же ошибка???


 
Плохиш ©   (2007-04-20 12:29) [11]


> так где же ошибка???

Ошибка в нежелании заняться изучением теории.


 
Ega23 ©   (2007-04-20 13:34) [12]


> так где же ошибка???


В 17-й строке.

Полные секции interface обоих юнитов - в студию!


 
Steep ©   (2007-04-20 14:31) [13]

блин...
Сделал простой примерчик - работает....


 
Steep ©   (2007-04-20 14:35) [14]

Видет нормально хотя выдает ошибку..

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
 private
   { Private declarations }
 public
   { Public declarations }
   procedure Button1Click(Sender: TObject);
 end;

var
 Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 Showmessage( Form2.Count(2,3) );
end;

end.


unit Unit2;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm2 = class(TForm)
 private
   { Private declarations }
 public
   { Public declarations }
   Function Count(us1, us2:integer): string;
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

Function TForm2.Count(us1, us2:integer): string;
begin
 Result := IntToStr(us1+us2);
end;

end.


Пишет Invalid property value


 
Ega23 ©   (2007-04-20 14:40) [15]


> Пишет Invalid property value


Где именно пишет?


 
Steep ©   (2007-04-20 15:00) [16]

После запуска выводится сообщение (с клавишами break, contine) с этой мессагой


 
Ega23 ©   (2007-04-20 15:04) [17]


> После запуска выводится сообщение (с клавишами break, contine)
> с этой мессагой


А у меня почему-то не выводится. Что я делаю не так?


type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessage(Form2.GetCount(3,2));
end;

end.

type
 TForm2 = class(TForm)
 private
   { Private declarations }
 public
   function GetCount(const X, Y : Integer) : string;
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

{ TForm2 }

function TForm2.GetCount(const X, Y: Integer): string;
begin
 Result := IntToStr(X+Y);
end;



 
Steep ©   (2007-04-23 08:47) [18]

Может потому что делфя у меня 2006-я... или руки кривые ;)


 
Amoeba ©   (2007-04-23 13:19) [19]


> Steep ©   (23.04.07 08:47) [18]
>
> Может потому что делфя у меня 2006-я... или руки кривые
> ;)
>

Скорее второе...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.043 c
2-1177493618
I-New
2007-04-25 13:33
2007.05.13
Цифровая подпись


15-1176546874
parus
2007-04-14 14:34
2007.05.13
ASP VB Script


6-1163397577
Мстилели
2006-11-13 08:59
2007.05.13
Служба не видет инета


2-1176223059
Ezorcist
2007-04-10 20:37
2007.05.13
TMemo с событием OnDestroy?


11-1158934714
Vilko
2006-09-22 18:18
2007.05.13
Окно по форме рисунка?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский