Utilisateur anonyme
-
10 juin 2009 à 13:24
Utilisateur anonyme -
12 juin 2009 à 20:40
Salut à tous ,
J'ai un ptit soucis avec un composant de mon cru. Ce dernier fonctionne très bien quant je l'utilise : il n'y a pas de beugs apparents. Cependant quant je souhaite écrire ou ouvrir ce dernier dans un flux, j'ai droit à un magnifique plantage avec comme alerte "Classe TBrowserTitle non trouvée".
Fonctions utilisées pour l'écriture et la lecture
{>>Procédure pour sauvegarder un projet}
procedure Save_Project(DestFile:String;Components:Array Of TComponent);
Var
FS:TFileStream;
IndexElmt:Integer;
Begin
//On crée FS en mode création
FS:=TFileStream.Create(DestFile,fmCreate);
//On essaye
Try
//Pour tout les éléments du tableau
For IndexElmt:=Low(Components) To High(Components) Do
//D'enregistrer le composant correspondant
FS.WriteComponent(Components[IndexElmt]);
//Finalement
Finally
//On libere FS
FS.Free;
End;
End;
{>>Procédure pour ouvrir un projet}
procedure Open_Project(SourceFile:String;Components:Array Of TComponent);
Var
FS:TFileStream;
IndexElmt:Integer;
Begin
//On crée FS en mode lecture
FS:=TFileStream.Create(SourceFile,fmOpenRead);
//On essaye
Try
//Pour tout les éléments du tableau
For IndexElmt:=Low(Components) To High(Components) Do
//De lire le flux dans le composant correspondant
FS.ReadComponent(Components[IndexElmt]);
//Finalement
Finally
//On libere FS
FS.Free;
End;
End;
{>>TBrowserMidi}
constructor TBrowserMidi.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
DoubleBuffered:=True;
fSoundFont:=TSoundFontCnt.Create(Self);
fBrowserTitle:=TBrowserTitle.Create(Self);
With fBrowserTitle Do
Begin
Name:='BrowserTitle';
SetSubComponent(True);
Parent:=Self;
Top:=0;
Left:=0;
Height:=49;
End;
InstrShowed:=-1;
SoundFontSelected:=-1;
InstrumentSelected:=-1;
SndFontShowed:=False;
Color:=$00757575;
fColorCategories:=$00A3A3A3;
fColorSndFont:=$00CCCCD7;
fColorInstr:=$00CCCCD7;
fColorInstrType:=$00A3A3B6;
fColorSelected:=$00CAEBF9;
end;
Les procédures d'écriture/lecture fonctionnent sans problèmes avec d'autres composants. Le problème vient donc du composant mais j'ai beau chercher ce qui ne va pas, je sèche sur le problème (Je pense que c'est un truc tout con mais parfois on passe devant l'évidence ). J'en appelle donc à votre aide .
Salut f0xi : tu parles pour les TColor ? Oui je sais mais je suis tétu comme une mule . Plus sérieusement il est difficile de perdre de mauvaises habitudes. Peut etre aussi que pour une question de lisibilité/compréhension, pour ce genre de chose je préfère cette technique : aussi bien codé qu'il soit un code peut vite devenir difficile à comprendre avec ce type d'imbrication : Maintenant effectivement en terme de perf, rendement de travail ta proposition est meilleure. En tout cas merci pour ta remarque