odnoszenie sie do komponentu z modulu formularza w module &

0

WItam na "form1" mam wladowany komponent "wyjscie", napisalem procedure HELP, ktora zawiera dookladna intrukcje obslugi programu. Procedura ta jest dluga i niewygodna jesli chodzi o trzymanie jej w module formularza. Chcialbym ja przeniesc do modulu "zwyklego", jednak procedura ta zawiera bardzo duzo odwolan do form1.wyjscie .... . Czy wie ktos jak mozna sie odwolac do komponentu wyjscie w module "zwyklym" ? Szukalem wczesniej na 4p, ale znalazlem tylko ten niejasny dla mnie temat:
http://4programmers.net/Forum/229189?h=modul#229189

W temacie tym Milka napisal:

przekazujesz zmienną wskazującą na formę do funkcji w dll'ce - koniecznie przez wartość. Do uses w dll'ce dodajesz forms. W w/w funkcji masz dostęp do tego co jest na formie o ile dołączyłeś odpowiednie moduły do uses. Formę możesz przeszukiwać w pętli (form.componentcount o ile pamiętam).

Nie bardzo rozumiem:
"przekazujesz zmienną wskazującą na formę do funkcji w dll'ce" I
"Formę możesz przeszukiwać w pętli (form.componentcount o ile pamiętam)."
[wstyd]

0

Jest wiele sposobów, np. przekazujesz komponent do modułu, np.

Unit Zwykly;
[...]
var
 Wyjscie: TJakisComponent;
[...]

W np. OnCreate Form1 dajesz

Zwykly.Wyjscie := Wyjscie;
0

Cos nie dziala, zrobilem tak:

modul zwykly:

unit Help;

interface
procedure ProceduraHelp;

implementation

  uses StdCtrls, forms;

  var
   Wyjscie : TMemo;

procedure ProceduraHelp;
begin
 HELP.wyjscie.lines.add ('dzialaaaaaaaaaaaaaaaaaaaaaaaaaa');
end;
end.end.

zas do modulu formularza dodalem do OnCreateForm:

 Help.Wyjscie := Wyjscie;

Po probie kompilacji wyskakuje mi jakis blad Debuggera

0

Toć wystarczy dać zwykłe uses.

W tym module, gdzie masz tą niezwykle skompolikowaną procedurę :

uses UnitGdzieJestForma;

I późniiej juz tylko:

Form1.CosTam;

0

Dzieki o to mi chodzilo ! czytalem spoko artykul o modularyzacji ale nic tam o tym nie bylo, pewni mialem sam sie domyslic [sciana] , heh oka dzieki jeszcze raz

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