Violation d'acces 00415A7F [Résolu]

Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
8 mars 2018
- - Dernière réponse : louiwahl
Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
8 mars 2018
- 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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
8 mars 2018
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de louiwahl
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
7
0
Merci
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 !
Commenter la réponse de Bacterius
Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
8 mars 2018
0
Merci
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
Commenter la réponse de louiwahl
Messages postés
103
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
8 mars 2018
0
Merci
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
Commenter la réponse de louiwahl
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
7
0
Merci
Salut,
essaye "Parent := TWinControl(AOWner);" juste après le inherited Create, à tout hasard ?

Cordialement, Bacterius !
Commenter la réponse de Bacterius

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.