Duplicate Ressource

Signaler
Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
16 mai 2019
-
Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
16 mai 2019
-
Bjr.

J'essaye de mettre un icon dans mon Composant avec un .dcr,
mais quand je compile
j'ai un message
" duplicate ressource"
"Type 14 (ICON GROUP), ID TBTNL"
Si quelqu'un a une idée merci d'avance

Louis

3 réponses

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
la ressource TBTNL existe déjà ... changer le nom ou vérifier pourquoi une fichue ressource porte ce nom.
Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
16 mai 2019

Bsr et merci f0xi

Mai ça ne marche pas j'ai chercher mais rien trouver
j'ai refait le compos entièrement et mis le .dcr avec le compos plus le package dans un dossier pour isoler mais rien a faire a part l'erreur qui est de type 2


Louis
Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
16 mai 2019

Milles Million d'excuses.
Bjr.
Désolé de vous avoir fait perdre votre temps.
Il suffisait juste de ne pas déclarer mon ".dcr" dans mon compos.
Merci f0xi et a plus.
pour infos..
J'en suis toujours a éviter l'erreur (l'horreur )
"400320E3 dans le module rtl70.bpl a l'adresse 00000000"
pour info cette erreur survient quand il n'y a pas d'image chargée au dépôt du compos sur la fiche

Voila mon code si ca peut aider

[unit WL_Btn;

interface

uses
Windows, Messages, SysUtils, Classes, Controls,Graphics,ExtCtrls,Jpeg;

type
tWL_Btn = class(TGraphicControl)
private
{ Private declarations }
FImgNorm :TJpegImage;
FImgDown :TJpegImage;
FImgMove :TJpegImage;
FOnMouseEnter :TNotifyEvent;
FOnMouseLeave :TNotifyEvent;
Procedure CMMouseEnter(Var Msg: TMessage); Message CM_MOUSEENTER;
Procedure CMMouseLeave(Var Msg: TMessage); Message CM_MOUSELEAVE;
Procedure SetImgNorm(Value : TJpegImage);
Procedure SetImgDown(Value : TJpegImage);
Procedure SetImgMove(Value : TJpegImage);
protected
{ Protected declarations }
public
{ Public declarations }
FColor: TColor;
FDown: Boolean;
SDown: Boolean;
Affiche: Boolean;
Res : TResourceStream ;
Procedure CMTextChanged(Var Message: TMessage); Message CM_TEXTCHANGED;
Procedure Paint; Override;
Constructor Create(AOwner: TComponent); Override;
Destructor Destroy; Override;
Procedure MouseDown (Button:TMouseButton; Shift:TShiftState; X, Y : Integer); Override;
Procedure MouseUp (Button:TMouseButton; Shift:TShiftState; X, Y : Integer); Override;
Procedure Click; Override;
Procedure DblClick;Override;
published
{ Published declarations }
Property Caption;
Property ImgNorm: TJpegImage Read FImgNorm Write SetImgNorm;
Property ImgDown: TJpegImage Read FImgDown Write SetImgDown;
Property ImgMove: TJpegImage Read FImgMove Write SetImgMove;
property Anchors;
property Constraints;
property Visible;
property Enabled;
property Font;
property PopupMenu;
property ShowHint;
property OnClick;
property OnDblClick;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnMouseEnter:TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave:TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Louis', [tWL_Btn]);
end;

Constructor tWL_Btn.Create(AOwner: TComponent);
Begin
Inherited Create(AOwner);
Parent := TWinControl(AOWner);
Height := 20;
Width := 80;
FDown := False;
SDown := False;
Affiche := False;
Cursor := crHandPoint;
FOnMouseEnter := Nil;
FOnMouseLeave := Nil;
FImgNorm := TJpegImage.Create;
FImgDown := TJpegImage.Create;
FImgMove := TJpegImage.Create;
End;

Procedure tWL_Btn.SetImgNorm(Value : TJpegImage);
Begin
Try
FImgNorm.Assign(Value);
If Not FImgNorm.Empty
Then Begin
Width := FImgNorm.Width;
Height := FImgNorm.Height;
End
Except
End;
End;

Procedure tWL_Btn.SetImgDown(Value : TJpegImage);
Begin
Try
FImgDown.Assign(Value);
If Not FImgDown.Empty
Then Begin
Width := FImgDown.Width;
Height := FImgDown.Height;
End
Except
End;
End;

Procedure tWL_Btn.SetImgMove(Value : TJpegImage);
Begin
Try
FImgMove.Assign(Value);
If Not FImgMove.Empty
Then Begin
Width := FImgMove.Width;
Height := FImgMove.Height;
End
Except
End;
End;

Procedure tWL_Btn.CMTextChanged(Var Message: TMessage);
Begin
Invalidate;
End;

Procedure tWL_Btn.Paint;
Var
aRect: TRect;
Flags: LongWord;
Begin
Inherited;
aRect := ClientRect;
Canvas.Font := Font;
Canvas.Brush.Style :=bsClear;
Flags := DT_Center Or DT_VCenter Or DT_ExpandTabs Or DT_SingleLine;
If (Not FDown) And (Enabled) And (Not SDown)
Then Begin
Canvas.Draw(0,0,ImgNorm);
Canvas.StretchDraw(aRect, ImgNorm);
DrawText(Canvas.Handle,PChar(Caption), -1, aRect, Flags);
End Else
Begin
If (FDown) And (Enabled) Then Begin
Affiche := False;
Canvas.StretchDraw(aRect, ImgDown);
OffsetRect(aRect,2,2);
DrawText(Canvas.Handle,PChar(Caption), -1, aRect, Flags);
end else
Begin
If (Enabled) And (SDown)
Then
Begin
ImgMove.Transparent := True;
Canvas.StretchDraw(aRect, ImgMove);
DrawText(Canvas.Handle,PChar(Caption), -1, aRect, Flags)
End;
End;
end;
End;

Procedure tWL_Btn.CMMouseEnter(Var Msg: TMessage);
Begin
SDown := True;
If Enabled
Then Begin
If Assigned(FOnMouseEnter)
Then FOnMouseEnter(Self);
Invalidate;
End;
End;

Procedure tWL_Btn.CMMouseLeave(Var Msg:TMessage);
Begin
SDown := False;
If Enabled
Then Begin
If Assigned(FOnMouseLeave)
Then FOnMouseLeave(Self);
Invalidate;
End;
End;

Procedure tWL_Btn.MouseDown(Button:TMouseButton; Shift:TShiftState; X, Y : Integer);
Begin
Inherited MouseDown(Button,Shift,X,Y);
If Enabled Then
If (Button = mbLeft)Then
Begin
FDown := True;
Invalidate;
End;
End;

Procedure tWL_Btn.MouseUp(Button:TMouseButton; Shift:TShiftState; X, Y : Integer);
Begin
Inherited MouseUp(Button,Shift,X,Y);
If Enabled Then
If (Button = mbLeft)Then
Begin
FDown := False;
Invalidate;
End;
End;

Procedure tWL_Btn.Click;
Begin
Inherited Click;
Invalidate;
End;

Procedure tWL_Btn.DblClick;
Begin
Inherited DblClick;
Invalidate;
End;

Destructor tWL_Btn.Destroy;
Begin
FImgNorm.Free;
FImgDown.Free;
FImgMove.Free;
Inherited Destroy;
End;

end.]/code

ce code marche bien avec des Bitmap la je voudrai des jpeg
et apparemment il voudrais une image de charger au dépôt du composant et pour les trois états
alors si quelqu'un a une idée.
Merci d'avance

Louis