Bonjour à tous
je suis en train de creer un template afin
de savoir pour un appliq multi panneau (TPanel)
afin de savoir comment udpgrader ma base de donnee.
Pour l'instant je teste sur Accees 2000 mais par la suite cela
sera du parradox7 deBorland
et dans le main je fais :
Code:
TTemplateAdoSgbd<TPanel> * p=new TTemplateAdoSgbd<TPanel>();
p->ConnectionString=MaChaine;
p->SQL=MaRequete
p->UpdateSgbd(Panel1);
delete p;
le probleme est que j'ai une violation acces sur construteur
et je vois pas comment ou est mon erreur ?
Sur la methode p->UpdateSgbd(Panel1); je compte utiliser
l'operateur TypeID est ce le bon operateur
Pourait
je faire dans le corps de cette fonction
de truc du genre if( ptr->Edit1->Text=="")
sachant que mon prototype est
Code:
template<class T> bool __fastcall TTemplateAdoSgbd<T>::UpdateSgbd(T * ptr)
si oui comment ?
merci de vos reponses ,je debute dans le template
si quelqu'un a un meilleure idée dites moi le....
_________________
Cordialement,
Sarda Olivier
_________________________________
Site Web :
http://www.membres.lycos.fr/osarda/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ambassadeur Kosh
le code des template se met dans le .h (si si, ce n'est pas du code, c'est une definition au même titre qu'un prototype qui est utilisée pour être "inferer" le type associé. cette façon d'implanter les templates est une tradition en c++.
si j'ai bien compris, tu définis un template et tu veux laisser une fonction à definir pour chaque implantation du template. pas bonne approche, ça, mon bon monsieur.
si tu veux specifier une implantation particuliere du template (prenons par exemple vector<bool> pour vector<T>), il te faudra declarer ta classe completement de A a Z.
en fait, la, il te manques un objet intermediaire.
et apres, tu utilises un TTemplateAdoSgbd<TManipulator> ;
la, d'apres ce que je vois, tu essayes de faire une sorte d'héritage en donnant la specif d'un côté et l'implantation de l'autre, mais ça n'est pas comme cela qu'il faut voir le biniou. fait passer ta "variabilité" par le parametre. l'approche specialisation de fonction membre n'existe pas (on va dire ça comme ça).
j'espere que je t'embrouilles pas trop...
le code des template se met dans le .h (si si, ce n'est pas du code, c'est
une definition au même titre qu'un prototype qui est utilisée pour être
"inferer" le type associé. cette façon d'implanter les templates est une
tradition en c++.
si j'ai bien compris, tu définis un template et tu veux laisser une fonction
à definir pour chaque implantation du template. pas bonne approche, ça, mon
bon monsieur.
si tu veux specifier une implantation particuliere du template (prenons par
exemple vector<bool> pour vector<T>), il te faudra declarer ta classe
completement de A a Z.
en fait, la, il te manques un objet intermediaire.
et apres, tu utilises un TTemplateAdoSgbd<TManipulator> ;
la, d'apres ce que je vois, tu essayes de faire une sorte d'héritage en
donnant la specif d'un côté et l'implantation de l'autre, mais ça n'est pas
comme cela qu'il faut voir le biniou. fait passer ta "variabilité" par le
parametre. l'approche specialisation de fonction membre n'existe pas (on va
dire ça comme ça).
le code des template se met dans le .h (si si, ce n'est pas du code, c'est une definition au même titre qu'un prototype qui est utilisée pour être "inferer" le type associé. cette façon d'implanter les templates est une tradition en c++.
si j'ai bien compris, tu définis un template et tu veux laisser une fonction à definir pour chaque implantation du template. pas bonne approche, ça, mon bon monsieur.
si tu veux specifier une implantation particuliere du template (prenons par exemple vector<bool> pour vector<T>), il te faudra declarer ta classe completement de A a Z.
en fait, la, il te manques un objet intermediaire.
et apres, tu utilises un TTemplateAdoSgbd<TManipulator> ;
la, d'apres ce que je vois, tu essayes de faire une sorte d'héritage en donnant la specif d'un côté et l'implantation de l'autre, mais ça n'est pas comme cela qu'il faut voir le biniou. fait passer ta "variabilité" par le parametre. l'approche specialisation de fonction membre n'existe pas (on va dire ça comme ça).
chui con, directement, tu dotes les "objets" à mettre à jour de la méthode (ici une TForm1, mais pourquoi pas autre chose) et apres, roule avec un mplateAdoSgbd<Form1>.
chui con, directement, tu dotes les "objets" à mettre à jour de la méthode
(ici une TForm1, mais pourquoi pas autre chose)
et apres, roule avec un mplateAdoSgbd<Form1>.
chui con, directement, tu dotes les "objets" à mettre à jour de la méthode (ici une TForm1, mais pourquoi pas autre chose) et apres, roule avec un mplateAdoSgbd<Form1>.