Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Langage
Langage Tout ce qui concerne le langage (POO, syntaxe, message d'erreur...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/12/2012, 15h37   #1
BuzzLeclaire
Membre Expert
 
Avatar de BuzzLeclaire
 
Homme
Dev/For/Vte/Ass
Inscription : août 2008
Messages : 1 499
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Dev/For/Vte/Ass

Informations forums :
Inscription : août 2008
Messages : 1 499
Points : 1 059
Points : 1 059
Par défaut Un Record récalcitrant

Je tombe sur un OS, (un nos nos il veut un nonosse le buzz ?)

Je déclare se record :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
type
  TBaseDefaut = Record
    Table     : String;
    Champ     : String;
    Primaire  : Boolean;
    Unique    : Boolean;
    TypeField : String;
    Taille    : Integer;
    DefautValue : Variant;
    Nullable : Boolean;
  End;
 
Var
  aBaseDefaut   : Array of TBaseDefaut;
  aBasePlanning : Array of TBaseDefaut;

Ensuite dans une procédure je l'utilise ainsi :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Procedure TFControlBase.AnalyseTableChamps;
  Var
//...
  begin
    TailleRecord := 0; CompteurRecord := 0;
    Cnx := TADOConnection.Create(nil);
    TblIndex := TADOTable.Create(nil);
    TblColumn := TADOTable.Create(nil);
    Try
      Cnx. 
//...
 
      Cnx.OpenSchema
//...
      try
        // ...
 
         SetLength(aBaseDefaut,TailleRecord);
// etc...
Cela fonctionne trés bien.

J'ai voulu utiliser une manière de faire pour gagner en code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Procedure TFControlBase.AnalyseTableChamps;
  Procedure AlimentationRecord(BaseMDB : String; aRecord: Array of TBaseDefaut; Delai: Integer);
  Var
// ...
  begin
    TailleRecord := 0; CompteurRecord := 0;
//...
 
          SetLength(aRecord,TailleRecord);
begin
 
end;
Et la j'ai une Type incompatible sur
Code :
SetLength(aRecord,TailleRecord);
BuzzLeclaire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2012, 17h02   #2
Caribensila
Membre expérimenté
 
Avatar de Caribensila
 
Homme PIERRE-LUC REAUD
programmateur ( programmeur amateur ;)
Inscription : septembre 2010
Messages : 277
Détails du profil
Informations personnelles :
Nom : Homme PIERRE-LUC REAUD
Âge : 62
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : programmateur ( programmeur amateur ;)
Secteur : Santé

Informations forums :
Inscription : septembre 2010
Messages : 277
Points : 537
Points : 537
Salut,

L'os rouge :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
type
  TBaseDefaut = Record
    Table     : String;
    Champ     : String;
    Primaire  : Boolean;
    Unique    : Boolean;
    TypeField : String;
    Taille    : Integer;
    DefautValue : Variant;
    Nullable : Boolean;
  End;
  TBaseDefautArray  = Array of TBaseDefaut;


Procedure AlimentationRecord(BaseMDB : String; aRecord: TBaseDefautArray; Delai: Integer);
Caribensila est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2012, 17h50   #3
BuzzLeclaire
Membre Expert
 
Avatar de BuzzLeclaire
 
Homme
Dev/For/Vte/Ass
Inscription : août 2008
Messages : 1 499
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Dev/For/Vte/Ass

Informations forums :
Inscription : août 2008
Messages : 1 499
Points : 1 059
Points : 1 059
Attrape Buzz..... attrape, attrape, ça c'est un bon Buzz...


Merci @Cariben
BuzzLeclaire est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h13.


 
 
 
 
Partenaires

Hébergement Web