Violation d'acces 00415A7F

Résolu
louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019 - 5 mars 2010 à 22:33
louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019 - 7 mars 2010 à 09:44
Bjr a tous

Voila j'ai repris mon compos bouton ou j'affiche un bmp different pour chaque etat de la souris (Click, Down, Leave)car j'essaye de faire afficher des jpeg j'y arrive mais quand je pose le compos sur la fiche il me donne ce message "Violation d'acces 00415A7F".
Si vous avez une idee.
Merci d'avance

Louis

5 réponses

louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019
7 mars 2010 à 09:44
Bjr a tous.

Bacterius merci pour le conseil mais ca ne marche pas.
Alors après mainte recherches et essais je me suis rapeller
un truc que j'avais vu quelque part .
"il faut charger une image a la construction pour enlever l'erreur"
alors c'est ce que j'ai fait et ça marche.



Merci pour les réponses

A+ Louis
3
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 9
6 mars 2010 à 01:06
J'ai perdu ma boule de cristal, désolé ...
Plus sérieusement, ce genre d'erreur indique que tu essayes d'utiliser un objet qui a déjà été libéré avant. Donc, il faudrait que tu puisses poster tout le code (dans la balise code plzz) pour qu'on voie où ça ne va pas. Merci

Cordialement, Bacterius !
0
louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019
6 mars 2010 à 08:59
Bjr et merci pour la reponse.

D'abord j'ai recommencer entierement et maintenant l'erreur a changee

"Violation d'acces 400287e7"
Voila mon code

[code=pas][unit BtnL;

interface

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

type
TBtnL = class(tgraphicControl)
private
{ Déclarations privées }
FImgNorm: 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);
protected
{ Déclarations protégées }
public
{ Déclarations publiques }
FColor: TColor;
FDown: Boolean;
SDown: Boolean;
Affiche: Boolean;
Procedure CMTextChanged(Var Message: TMessage); Message CM_TEXTCHANGED;
Procedure Paint; Override;
Constructor Create(AOwner: TComponent); Override;
Destructor Destroy; Override;
published
{ Déclarations publiées }
Property Caption;
Property ImgNorm: TJpegImage Read FImgNorm Write SetImgNorm;
end;

procedure Register;

implementation

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



Procedure TBtnL.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 TBtnL.CMTextChanged(Var Message: TMessage);
Begin
Invalidate;
End;

Procedure TBtnL.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;

Canvas.Draw(0,0,ImgNorm);
Canvas.StretchDraw(aRect, ImgNorm);
DrawText(Canvas.Handle,PChar(Caption), -1, aRect, Flags);
End;

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

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

Destructor TBtnL.Destroy;
Begin
FImgNorm.Free;
Inherited Destroy;
End;

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

end.]

Merci encore

Louis
0
louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019
6 mars 2010 à 09:06
ah oui j'ai oublier!!!
cette erreur survient que quand je pose le composant sur la fiche
apres je peut charger une image et compiler
merci

Louis
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 9
6 mars 2010 à 10:12
Salut,
essaye "Parent := TWinControl(AOWner);" juste après le inherited Create, à tout hasard ?

Cordialement, Bacterius !
0