Newsgroup: it.comp.lang.delphi
Titolo: form lanciare una procedure che c'è in un altro form

 posso lanciare una procedure che c'è in un altro form ? se si con quale 
sintassi? devo chiamere la procedura nel primo form in modo diverso?
ringrazio in anticipo
sono un principiante
presariog
--- posted by geoForum on 
http://www.delphiedintorni.it

Supponiamo che tu hai Tform1 e Tform2 e vuoi lanciare da TForm1 la 
procedure "proc" che hai implementato in TForm2 devi operare cosi:
1) la procedure "proc" deve essere public
2) in TForm1 negli uses metti TForm2
3) Da TForm1 scrivi TForm2.proc
Cosi va, poi si può discutere se è ottimale....
Fammi sapere
Stefano Lorenzi


Ti ringrazio, ma probabilmente mi sfugge qualcasa:
nel Form1
Procedura "pTab1()" in Public di Unit1, e sotto la 
procedure "TForm1.pTab1();" eccc.
uses Unit2;
nel Form2
uses Unit1;
lancio la procedura con "procedure TForm2.pTab1();"
clicco sul bottone, fa il conto che deve fare ma non lancia la 
procedura...
in uses non mi accetta Tform1.....
grazie in anticipo

presariog


 ha scritto nel messaggio
news:f2Vte.20387$bc.1...@tornado.fastwebnet.it...
: Ti ringrazio, ma probabilmente mi sfugge qualcasa:
: nel Form1
: Procedura "pTab1()" in Public di Unit1, e sotto la
: procedure "TForm1.pTab1();" eccc.
: uses Unit2;
:
: nel Form2
: uses Unit1;
: lancio la procedura con "procedure TForm2.pTab1();"
: clicco sul bottone, fa il conto che deve fare ma non lancia la
: procedura...
:
: in uses non mi accetta Tform1.....
: grazie in anticipo
L'amico Stefano ti ha dato gentilmente una dritta, probabilmente l'ha
scritta in fretta.
Prova a vedere sul libro di Delphi (che presumo tu utilizzi...) cosa si
mette nelle USES e vedrai che SICURAMENTE c'č un esempio riguardo a quello
che desideri....
Andrea

Ti posto un codice di prova
La unit1(il form si chiama form1) ha un bottone ed un edit al click del 
bottone chiama la funzione somma scritta in unit2(il form si chiama 
form2) 
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, 
Dialogs,
  StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    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
   Edit1.Text  := IntToStr(Form2.somma);
end;
end.
************************************************************************
************************************************************************
unit Unit2;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, 
Dialogs;
type
  TForm2 = class(TForm)
  private
    { Private declarations }
  public
    function somma : integer;
  end;
var
  Form2: TForm2;
implementation
{$R *.DFM}
{ TForm2 }
function TForm2.somma: integer;
begin
   Result := 2 + 2;
end;
end.
**************************************************************************
Se hai ancora problemi postami il tuo codice.
Ciao


per stefano, ti ringrazio proverņ partendo da un progetto nuovo porta 
pazienza.....
per andrea il manuale lo consulto spesso, evidentemente sottovaluto 
alcuni passaggi, purtroppo ho un grande difetto, non so attendere, 
quando comincio un progetto devo finirlo alla svelta.
porta pazienza anche tu.....grazie comunque
ciao a tutti
presariog


 ha scritto nel messaggio
news:QkWte.20657$bc....@tornado.fastwebnet.it...
: per stefano, ti ringrazio proverò partendo da un progetto nuovo porta
: pazienza.....
: per andrea il manuale lo consulto spesso, evidentemente sottovaluto
: alcuni passaggi, purtroppo ho un grande difetto, non so attendere,
: quando comincio un progetto devo finirlo alla svelta.
Male, molto male ... anche perchè non stiamo parlando di passaggi contorti
con documentazione nascosta di Winsozz ... ma di banalità !!!!!!
: porta pazienza anche tu.....
Basta che la portino i tuoi committenti ...
Tesina x l'esame di stato ?


Spero propprio di no. Mi sembra sia troppo tardi
per recuperare un gap del genere ...
Comunque, le faq rispondono anche alla sua domanda:
http://icld.altervista.org/?q=node/8
-- 
ACSH
[D4]
Chi fa da se', fatica il doppio

Perdonatemi, ma non capisco il problema, č vero che cercando su google
spesso si trova tutto quello uno cerca (a volte anche di piů), ma
presariog ha ammesso di essere un principiante e magari era piů comodo
chiedere, magari (come me) non conosce molto bene l'inglese, magari aveva
fretta, nessuno era obbligato a dargli una risposta.
Perdonatemi, ma non capisco le vostre critiche :(
Ciao
Stefano Lorenzi



Quali critiche?
P.S. Occhio al quoting!
Ciao



<Inizio cit.>
TOOOGO!
<Fine cit.>


 
http://icld.altervista.org/?q=node/8
Alternativamente può provare sul nuovo portale di ICLDWeb
http://www2.samatel.com/icld
 , nel modulo FAQ, sempre Domande generiche.
Oppure può usare il potente motore di ricerca interno al sito flaggando
solo FAQ e mettendo uses come parola chiave.
ciao
guastatore


Mi riferivo al messaggio di Phora


Ciao
chi ha risposto (non ricordo il nome ed adesso sono di fretta...) è stato
fin troppo gentile, anzi, per le incorrettezze (stupidatine) presenti nel
codice secondo me non ha usato neppure il taglia-incolla ma ha scritto di
getto, quindi "ultra" gentile.
Quello che mi ha irritato un po' è il fatto che la richiesta era relativa ad
una ... stupidata che qualsiasi libro sul delphi riporta.
Quello che mi urta è vedere ICDL usato per evitare quella piccolissima
fatica (ripeto, per 'na strunzata) che fa crescere un programmatore.
Mi sembra di essere tornato ai tempi in cui davo ripetizione di matematica
quando dopo 10 minuti in cui l'alunno guarda imbambolato il problema gli
davo la soluzione tanto per andare avanti: in quel caso: in quel modo, cosa
diavolo imparava dall'esercizio ? che poteva contare su Andrea per la
soluzione ?
Dai, siamo seri :-)
Andrea