Procedury...

0

Jak zadeklarowac procedure tak aby mozna jej bylo uzywac na kilku Formach?--take care,

Wodzu

0

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

0

Wodzu napisał:
Jak zadeklarowac procedure tak aby mozna jej bylo uzywac na kilku Formach?

  1. Uzyj biblioteki dll :)
  2. mozesz na zrobic to tak:

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

0

Dzieki Romantiko, nie chcialo mi sie pisac jak wsadzic procedure do klasy...--Pawel

Delphi6

0

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

0

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

0

Wodzu napisał:
Dzieki wam za odpowiedzi...:)
&gt
&gtWszystko 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

0

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

0

Wodzu napisał:

&gtI 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

&gtprocedure TForm1.Rameczka(Sender: TObject; Canvas: TCanvas; ClientWidth,ClientHeight: Integer ) ;

a pozniej gdzies nizej podac jej definicje np:

&gtprocedure 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

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0