DeltaFX
Messages postés449Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 8 avril 2009
-
19 avril 2006 à 10:18
DeltaFX
Messages postés449Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 8 avril 2009
-
20 avril 2006 à 22:44
En fait j'ai besoin d'ajouter à la class Tform une procedure, donc de créer une classe du genre TExtendForm qui reprendraient tout d'une TForm normale mais qui disposerait d'une procedure/fonction publique supplémentaire .
Un petit exemple ? A vot' bon coeur m'sieurs dames :)
cs_shining
Messages postés304Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention10 mars 2012 19 avril 2006 à 16:39
Hey chteu connai toa tu viendrai pas de ville taneuse ? lol
bon je vois que ta pas trop capich mon post tout fin de compte alors voici un exemple plus explicite et moins contrainiant que l'autre version
1) Ajoute une nouvelle unité (pas une fiche )
voici le code de cette unité
-------------------------------
unit ExtendedForm;
interface
uses
Forms;
type
TExtendedForm = class(TForm)
private
{ Déclarations privées }
public
{ Déclarations publiques }
procedure DoQuelqueChose;virtual; // <=== ne pas oublié le virtual c'est très important !!!
end;
implementation
{ TExtendedForm }
procedure TExtendedForm.DoQuelqueChose;
begin
// rien
end;
end.
-------------------------------
maintenant tu as une classe de Base pour toutes tes forms capich ??
maintenant dans Form1 tu rajoute ExtendedForm dans la clause Uses
cs_shining
Messages postés304Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention10 mars 2012 19 avril 2006 à 16:39
Hey chteu connai toa tu viendrai pas de ville taneuse ? lol
bon je vois que ta pas trop capich mon post tout fin de compte alors voici un exemple plus explicite et moins contrainiant que l'autre version
1) Ajoute une nouvelle unité (pas une fiche )
voici le code de cette unité
-------------------------------
unit ExtendedForm;
interface
uses
Forms;
type
TExtendedForm = class(TForm)
private
{ Déclarations privées }
public
{ Déclarations publiques }
procedure DoQuelqueChose;virtual; // <=== ne pas oublié le virtual c'est très important !!!
end;
implementation
{ TExtendedForm }
procedure TExtendedForm.DoQuelqueChose;
begin
// rien
end;
end.
-------------------------------
maintenant tu as une classe de Base pour toutes tes forms capich ??
maintenant dans Form1 tu rajoute ExtendedForm dans la clause Uses
cs_shining
Messages postés304Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention10 mars 2012 19 avril 2006 à 16:41
oula pardon pour le doublon c'est la maladie d'alzeimer ;) non c'est ce $$^$^:$;:^$^ de navigateur ou le réseau de code source qui merdouille de temps en temps !!!
DeltaFX
Messages postés449Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 8 avril 20092 20 avril 2006 à 22:44
T'es fou,chuis pas de villetaneuse :D Capich ce coup-ci, là t'as dit Unit et pas fiche (et toc !) Blague a part j'ai créer ce topic pour pas poser 2 questions dans l'autre.
Ca marche, j'ai, suite au post de Delphiprog surl'autre topic, étudié la cas des design pattern, Et je m'en suis inspiré.
Donc au final, l'unit qui contieint mes variables globales a 2 fonctions suppl.
//-----------------------------------------------------------
procedure SpreadMsg(Msg:String;Flag:integer);
var i: integer;
begin
for i:= 0 to NbOfForms do
if FormNames[i]<>'' then
with FindGlobalComponent(FormNames[i]) as TExtendedForm
do AnalyseThis(Msg,Flag);
end;
//-----------------------------------------------------------
procedure RegisterMe(aName: string;aIndex:integer);
begin
FormNames[aIndex]:=aName;
end;
chaque instance de TextendedForm fait ca au OnCreate:
with Form_MP3 do
begin
Tag:=2;
RegisterMe(Name,Tag);
end;
Ca marche impec, c'est pas trop trop orienté POO, et rien qu'avec ca j'ai une appli plus fluide, plutot que d'avoir N variables globales, et M timers pour les surveiller. Et c'est important la fluidité, mine de rien, je me fais un FrontEnd pour mon CarPc (camera de recul - lecture mp3 - Navigation Gps - OBDII - et gestion telephone bloutouss pour plus tard ), avec une config de base minimale. (ex: la cam de recul croppé + lecture Mp3 via Bass.dll + hardware monitoring+ aplli gps embedded) 20% de ressources sur un Tbird 1ghz)