Newsgroup: it.comp.lang.delphi
Titolo: Problema su Eventi

Sto scrivendo un componente (sono alle prime armi) per connettermi a MySql,
ho definito un metodo del tipo 'Connect' (che funziona bene) e due eventi
'OnBeforeConnect' e 'OnAfterConnect' (che non funzionano).
Non riesco a capire per quale motivo quando richiamogli eventi sono sempre
uguali a nil.
Il codice è il seguente :
unit MySQLConn;
interface
uses
  Windows, Messages, SysUtils, Classes, Mysql;
type
  TMySQLConn = class(TComponent)
private
    { Private declarations }
    //Eventi
    FOnBeforeConnect,FOnAfterConnect:TNotifyEvent;
    ...
    ...
  published
    { Published declarations }
    //Eventi
    property OnBeforeConnect:TNotifyEvent read FOnBeforeConnect write
FOnBeforeConnect;
    property OnAfterConnect:TNotifyEvent read FOnAfterConnect write
FOnAfterConnect;
    ...
    ...
procedure TMySQLConn.Connect;
begin
  if Connected=False then begin
    if Assigned(OnBeforeConnect) then OnBeforeConnect(Self);
    ...
   (Connessione)
    ...
    if Assigned(OnAfterConnect) then OnBeforeConnect(Self);
  end
  else Fail('Connessione già aperta.');
end;
Qualcuno puoi aiutarmi a capire per quale motivo il risultato è sempre nil ?
Grazie 1000
--
-----------------------------------------------------------
Eugenio De Santis
Microsoft Certified Professional
email : 
eugen...@edpservices.com
web : 
www.edpservices.com
----------------------------------------------------------

 wrote in message
news:aa3lni$a84$1...@lacerta.tiscalinet.it...

Perchè probabilmente non sono mai effettivamente stati assegnati.
Ad esempio con il seguente codice:
Connection:= TMySQLConn.Create;
 Connection.OnAfterConnect:= MioHandlerA;
 Connection.OnBeforeConnect:= MioHandlerB;
....
 Connection.Connect;
// A questo punto vedrai che ti funzionano.
Ciao,
G.

Ciao!
Da quando ho potuto capire stai svilippando una classe per la gestione della
connessione al database! O sbaglio?
Purtroppo non posso esserti utile perchè è da poco che programmo in Delphi e
infatti volevo approfittarne per chiederti dove posso trovare esempi di
gestione di database.
Ciò che mi interesserebbe è come eseguire le classiche operazioni sui
database(insert, update e delete). La connessione vorrei  impostarla con il
dbexpress. Ho acquistato il manuale del delphi 6 ma non è che c'è scritto
più di tanto. L'help non è molto comprensibile. C'è un esempio in una
directory d'installazione ma nessuna mi fa vedere precisamente quale codice
sorgente serve per poter implementare l'accesso al database.
Grazie!

 ha scritto nel messaggio
news:aa3pdl$7hq8g$1...@ID-106993.news.dfncis.de...


 ha scritto nel messaggio
news:aa3uf5$7n7qj$1...@ID-134361.news.dfncis.de...



Probabilmente nell'altro componente gli handlers vengono assegnati a design
time attraverso l'object inspector (l'assegnazione dovrebbe essere visibile
nel .dfm). Io credo che per la classe che tu stai derivando ti abbia
introdotto questi nuovi handlers, e che questi non vengano assegnati a
design time, giusto? In questo caso l'assegnazione deve essre fatta dal
codice a run time. Per quanto riguarda dove l'assegnazione deve avvenire,
beh, questo è generalmente fatto da chi "utilizza" la tua classe. Gli
handler hanno un pò lo scopo di customizzare (brutto termine ;) ) il
comportamento di un oggetto. Se tu cablassi gli handlers all'interno del
create verrebbe meno questo vantaggio; sarebbe un pò come scrivere codice
all'interno del create. Mmmm, non sono stato un campione di chiarezza, ma
alle 8 di mattina non ho ancora messo in moto tutti i neuroni...
Se hai questioni siamo qua.
Ciao,
G.