Jak zadeklarowac procedure tak aby mozna jej bylo uzywac na kilku Formach?--take care,
Wodzu
Jak zadeklarowac procedure tak aby mozna jej bylo uzywac na kilku Formach?--take care,
Wodzu
unit unit1;
interface
procedure X;
implementation
procedure X;
begin
{..}
end;
//-------------
unit unit2;
uses unit1;
procedure Y
begin
X;
end;
mozna tez zrobic X czescia formularza1 i wtedy tez potrzeba uses, a odwolanie byloby Form1.X
(pisane z pamieci, moga byc bledy :( )--Pawel
Delphi6
Wodzu napisał:
Jak zadeklarowac procedure tak aby mozna jej bylo uzywac na kilku Formach?
unit Main ;
*cos tam
type
TFrmMain = class(TForm)
*cos tam
public procedure Procedurka(parametry) ;
end ;
var
FrmMain: TFrmMain ;
a pozniej w sekcji uses dodac (jasli masz formy w innych plikach) Main i odwolac sie do tej procedury tak:
FrmMain.Procedurka(parametry) ;
jesli masz wszystkie formy w jednym pliku to zadeklaruj procedure jako globalna w sekcji implementation
Pozrawiam {hello} --LSD - Discover The New Way Of Thinking
Dzieki Romantiko, nie chcialo mi sie pisac jak wsadzic procedure do klasy...--Pawel
Delphi6
pq napisał:
Dzieki Romantiko, nie chcialo mi sie pisac jak wsadzic procedure do klasy...
Czy cos zrobilem zle ? :) Sorka, ale nie widziauem tfoyego posta wczesniej, staralem sie odpowiedziec jak umialem najlepiej, jakbym widzial, to bym sie juz pewnie nie odzywal...
Pozdrawiam :) {hello} --LSD - Discover The New Way Of Thinking
Dzieki wam za odpowiedzi...:)
Wszystko to co opisaliscie mam zrobione tylko wlasnie nie wiem jak zadeklarowac prcedure jako GLOBALNA :-)
Badzcie tak dobrzy i napiszcie jak to zrobic;)--take care,
Wodzu
Wodzu napisał:
Dzieki wam za odpowiedzi...:)
>
>Wszystko to co opisaliscie mam zrobione tylko wlasnie nie wiem jak zadeklarowac prcedure jako GLOBALNA :-)
ja bym powiedzial ze po slowie implementation ale moge byc w bledzie :)
Pozdrawiam {hello} --LSD - Discover The New Way Of Thinking
To w takim razie powiedz mi co tutaj schrzanilem:)
Stworzylem sobie procedurke ktora ma za zadanie rysowac mi ramke wokol dowolnej formy, zadeklarowalem owo cos;) w ten sposob:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Obrazek;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure Rameczka(Sender: TObject; Canvas: TCanvas; ClientWidth,ClientHeight: Integer );
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.Rameczka(Sender: TObject; Canvas: TCanvas; ClientWidth,ClientHeight: Integer );
begin
with Canvas do
begin
MoveTo(0, 0);
Pen.Color:=$004A4A4A;
LineTo(800, 0);
LineTo(800,600);
LineTo(600,0);
LineTo(0,0);
end;
end;
begin
//tutaj jakies tam dzialania
end.
I JAK TERAZ WYWOLAC OWA PROCEDURE W INNEJ FORMIE?
--take care,
Wodzu
Wodzu napisał:
>I JAK TERAZ WYWOLAC OWA PROCEDURE W INNEJ FORMIE?
Z tego co widze, to ta procedura jest w klasie Tform1
Oto co powinienes zrobic:
Zadeklarowac na po slowie implementation np tak
>procedure TForm1.Rameczka(Sender: TObject; Canvas: TCanvas; ClientWidth,ClientHeight: Integer ) ;
a pozniej gdzies nizej podac jej definicje np:
>procedure TForm1.Rameczka(Sender: TObject; Canvas: TCanvas; ClientWidth,ClientHeight: Integer );
begin
*jakis kod
end ;
w tym tez przypadku powinienes usunac deklaracje tej procedury z Tform1
A moya sugestia jest taka, zebys umiescil sobie ta procedurke w bibliotece dll, jak nie wiesz jak to sie robi, to poczytaj: http:*www.4programmers.net/delphi/dll.html
Uwierz mi, dll to naprawde przydatna rzecz :)
Pozdrawiam {hello}
--LSD - Discover The New Way Of Thinking
Wydaje mi sie (nie jestem pewny) ze wystarczyloby, jakbys przeczytal moj post z 15:11, poniewaz podalem ci tam, jak odwolywac sie do procedury umieszczonej w klasie.
Podzrawiam :) {hello} --LSD - Discover The New Way Of Thinking