dernière mise à jour le : dimanche 04 mars 2001
Retour au sommaire.
Chapitre précédent
Chapitre suivant
Lorsque vous créez des composants, à certains moments vous voulez distinguer si vous êtes en train d'utiliser le composant en tant que programmeur (par exemple, vous placez le composant sur la fiche) ou si vous êtes en mode exécution (le programme a été compilé et lancé)
Pour ce faire, vous allez utiliser :
if (csDesigning in ComponentState) then // si on est en mode conception
...//action souhaitée si on est en mode conception
else
...// action souhaitée si on est en mode exécution
Dans le source d'un de vos composants, surchargez la méthode Create en mettant entre public et published :
public Constructor Create(AOwner:TComponent); override; published
et ajoutez dans la partie implémentation :
constructor TTestcsDesigningBitBtn.Create;
begin
inherited;
if (csDesigning in ComponentState) then // si on est en mode conception
ShowMessage('bonjour à toi programmateur Delphi')
else ShowMessage('mode exécution');
end;
Attention, pour tester, il est indispensable :

.

unit TestcsDesigningBitBtn;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TTestcsDesigningBitBtn = class(TBitBtn)
private
{ Déclarations privées }
protected
{ Déclarations protégées }
public
Constructor Create(AOwner:TComponent); override;
published
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Perso', [TTestcsDesigningBitBtn]);
end;
{ TTestcsDesigningBitBtn }
constructor TTestcsDesigningBitBtn.Create;
begin
inherited;
if (csDesigning in ComponentState) then // si on est en mode conception
ShowMessage('bonjour à toi programmateur Delphi')
else ShowMessage('mode exécution');
end;
end.
Retour au sommaire.
Chapitre suivant