Utilisateur anonyme
-
28 janv. 2007 à 12:44
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 2013
-
28 janv. 2007 à 16:49
Salut à tous,
Je travaille actuellement sur une base de donnée ou je crée dynamiquement la table et le datasource
With MaDataSource do
Begin
AutoEdit:=False;
Enabled:=True;
DataSet:=SMTPTable;
End;
With MaTable do
Begin
ReadOnly:=True;
AutoRefresh:=True;
TableType:=ttDefault;
TableName:=Mail_Base;
Active:=True;
End;
Je suis sur que les enregistrements ont lieu. Seulement quand j'initialise le DBGrid
DBGrid.DataSource:=MaDataSource;
DBGrid.DataSource.DataSet:=MaTable;
Rien ne s'affiche : plus exactement : les lignes apparaissent en quantité suffisante (si j'ai 5 lignes dans ma base j'ai bien 5 lignes dans le dbgrid) mais il n'y a rien qui s'affiche. Si vous savez pourquoi ??
{>>Procedure pour Paramétrer les composants}
Procedure TMain.parameterization;
Begin
SMTPTable:=TTable.Create(nil);
SMTPDataSource:=TDataSource.Create(nil);
UserManager:=TidUserManager.Create(nil);
Users_Initialization(UserManager);
With SMTPServer do
Begin
DefaultPort:=StrToInt(StringReadIni(UsersFile,'Root','Port'));
If assigned(UserManager) then Active:=True;
End;
With SMTPDataSource do
Begin
AutoEdit:=False;
Enabled:=True;
DataSet:=SMTPTable;
End;
With SMTPTable do
Begin
ReadOnly:=True;
AutoRefresh:=True;
TableType:=ttDefault;
TableName:=Mail_Base;
DBGrid.DataSource:=SMTPDataSource;
DBGrid.DataSource.DataSet:=SMTPTable;
Active:=True;
End;
End;
Lors de la compilation il y a une erreur de violation d'access sachant que cette procedure est lancée dans le OnCreate. Je pense que j'ai du louper un truc mais je vois pas quoi
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 28 janv. 2007 à 16:49
Re-bonjour Francky,
Je viens de tester ta procédure en la lançant du OnCreate.
J'ai dû le faire sur Delphi4, la seule version Delphi pour laquelle j'ai des composants BDD (Paradox, Dbf avec moteur BDE mais sans application client-serveur ).
J'ai donc dû supprimer depuis "UserManager..." jusqu'au end de "With SMTPServer".
J'ai également supprimé la propriété AutoRefresh (pas présente sur Delphi4).
J'ai assigné à mail_base le nom d'un fichier de type paradox.
J'ai supprimé la ligne "DBGrid.DataSource.DataSet:=SMTPTable;" qui ne sert à rien puisque tu as déjà raccordé le datasource à la table.
Je n'ai aucune violation d'erreur.
Donc Lapalisse dirait : l'erreur vient de ce que j'ai dû supprimer.
Ton DBGrid est-il créé dynamiquement ?
Désolé de ne pas pouvoir t'aider plus.