Violation d'acces 00415A7F [Résolu]

louiwahl 103 Messages postés vendredi 20 février 2004Date d'inscription 8 mars 2018 Dernière intervention - 5 mars 2010 à 22:33 - Dernière réponse : louiwahl 103 Messages postés vendredi 20 février 2004Date d'inscription 8 mars 2018 Dernière intervention
- 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
louiwahl 103 Messages postés vendredi 20 février 2004Date d'inscription 8 mars 2018 Dernière intervention - 7 mars 2010 à 09:44
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

Merci louiwahl 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de louiwahl
Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention - 6 mars 2010 à 01:06
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
louiwahl 103 Messages postés vendredi 20 février 2004Date d'inscription 8 mars 2018 Dernière intervention - 6 mars 2010 à 08:59
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
louiwahl 103 Messages postés vendredi 20 février 2004Date d'inscription 8 mars 2018 Dernière intervention - 6 mars 2010 à 09:06
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
Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention - 6 mars 2010 à 10:12
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.