begin process at 2010 03 21 11:08:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Graphique

 > 

pobleme d'execution


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pobleme d'execution

mercredi 10 mai 2006 à 11:09:22 | pobleme d'execution

sfkuhvdlkufgs

Bonjour,
alors voila, je doit afficher un graphique a l'ecran, qui est le résultat de paramètres entrés par l'utilisateurs dans des tedit.
le probleme est que ça compile, ça se construit mais l'execution me fait des erreurs :
"Le projet project1.exe a provoqué une classe d'exeption EAccessViolation avec le message d'accès a l'adresse004834EF dans le module 'project1.exe'. Lecture de l'adresse 00000308. Processus stoppé. Utilisez pas a pas ou executer pour continuer."
je clique sur OK et j'essaye de cntinuer l'execution, et la il met une autre erreur : "Runtime error 216 at 0040327E"

voila la structure de mon programme :

type
tform1=class (Tform)
  mes edits...
  series1 : TlineSeries
  Button1 : TButton    {le bouton qui sert a valider une fois que les parametres sont entrés}
  +dif variables
  Procedure Button1Click(sender : Tobject)
 
private
public
end;

var
form1 : tform1
a:string
b:string
etc...

implementation
procedure tform1.Button1Click(sender : Tobject)
 begin
recuperation des valeurs des tedits puis series1.add    (a:=strtofloat( edit1.text)) etc...;
end

begin
with form1 do
Button1Click(form1);
end

voila donc en gros, tout se fait dans la procédure buttonclick, au moment ou l'utilisateur clique sur le bouton de vlidation.
désolé pour la longueur...
merci de votre aide.



mercredi 10 mai 2006 à 13:33:50 | Re : pobleme d'execution

DeltaFX

T'as cherché 5 minutes avant de poser la question ? mmm ? http://www.delphifr.com/infomsg/PROBLEME-RUNTIME-ERROR-216-2_733426.aspx
mercredi 10 mai 2006 à 14:18:36 | Re : pobleme d'execution

sfkuhvdlkufgs

euh... ben la en fait je suis pas sur que sa m'aide
je ne suis dans aucuns des cas du post (pentium4 >3Ghz), et franchement je pense que le probleme vient plus de mon code.
peut etre est-ce lié a la premiere erreur?
mercredi 10 mai 2006 à 14:48:39 | Re : pobleme d'execution

florenth

Membre Club
En effet, je pense que le problème vient d'abord de ta procédure.
Pourquoi ne pas l'avoir posté en entier plutot que sommairement nous la décrire ?
Sans code, difficile de débugger ...

Si tu ne te plantes pas ......
tu ne pousseras jamais
mercredi 10 mai 2006 à 16:17:21 | Re : pobleme d'execution

f0xi

Membre Club Administrateur CodeS-SourceS
les violation d'accés sont des erreurs difficile a determiner tel quel ...

en regle generale elle surviennent avec l'utilisation de pointeur ou de mauvais passage de parametre ou encore a l'initialisation d'objet créés dynamiquement.

par exemple si on tape :

procedure ....
begin
    Button1.create(self);
end;

il y a de forte chance pour qu'une erreur de violation apparraisse.

on ecrit donc :

Button1 := TButton.Create(Self);

pour les objets a créer dynamiquement uniquement ... pour les autres possibilitée, il y en as tellement que toute les decrirent serait long ... trés long.
mercredi 10 mai 2006 à 16:52:18 | Re : pobleme d'execution

DeltaFX

J'ai pitet été lapidaire dans ma réponse, j'ai juste tilté sur le error 216, sorry.
mercredi 10 mai 2006 à 18:08:28 | Re : pobleme d'execution

sfkuhvdlkufgs

unit mol;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, Buttons,
  DbChart;

type
  TForm1 = class(TForm)
    Chart1: TChart;
    Series1: TLineSeries;
    StaticText1: TStaticText;

    StaticText2: TStaticText;
    Edit1: TEdit;
    StaticText3: TStaticText;
    Edit2: TEdit;
    StaticText4: TStaticText;
    Edit3: TEdit;
    StaticText5: TStaticText;
    Edit4: TEdit;
    StaticText6: TStaticText;
    Edit5: TEdit;
    Splitter2: TSplitter;
    StaticText7: TStaticText;
    StaticText8: TStaticText;
    StaticText9: TStaticText;
    Edit6: TEdit;
    Edit7: TEdit;
    StaticText10: TStaticText;
    Splitter3: TSplitter;
    Button1: TButton;
    Label1: TLabel;
    Edit8: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Edit9: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Edit10: TEdit;
    Edit11: TEdit;
    Label6: TLabel;
    Label7: TLabel;
    Edit12: TEdit;
    Edit13: TEdit;
    Edit14: TEdit;
    Label8: TLabel;
    Edit15: TEdit;
    Label9: TLabel;
    Edit16: TEdit;
    Label10: TLabel;
    Label11: TLabel;
    Edit17: TEdit;
    Label12: TLabel;
    Edit18: TEdit;
    Label13: TLabel;
    Edit19: TEdit;
    Series2: TLineSeries;
    Label14: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var        {par conv, A et B représentent les especes, 1 et 2 les milieux}
  Form1: TForm1;

  dens_pop_a , dens_nour_a, tx_abs_nour_a, dens_pop_b,
  dens_nour_b , tx_abs_nour_b, supply_pool, temps, precision : string;

  dpa,dn1,tana,dpb,dn2,tanb,s, coefr1,
  coefr2,coefn1,coefn2, prec, pt_suiv_r1,pt_suiv_r2,
  coefnA,coefnB,conv1A,conv1B,conv2A,conv2B,perteA,perteB : extended ;

  i,n,c1,c2,pa1,pa2,pb1,pb2 : integer;

  TNA,TNB : array of extended;

  implementation

 


procedure TForm1.Button1Click(Sender: TObject);
  begin

  dpa:=strtofloat(Edit1.text);     {recupération des valeurs}
  dn1:=strtofloat( Edit3.text);
  dpb:= strtofloat(  edit2.text);
  dn2:=strtofloat( Edit4.text);
  S:=strtofloat(Edit8.text);
  n:=strtoint(Edit9.Text);
  prec:=strtofloat(Edit5.text);
  pa1:=strtoint(Edit10.Text);
  pa2:=strtoint(Edit11.Text);
  pb1:=strtoint(Edit12.Text);
  pb2:=strtoint(Edit13.Text);
  conv1A:=strtofloat(Edit17.text);
  conv1B:=strtofloat(Edit18.text);
  conv2A:=strtofloat(Edit16.text);
  conv2B:=strtofloat(Edit15.text);
  perteA:=strtofloat(Edit19.text);
  perteB:=strtofloat(Edit14.text);
  S:=strtofloat(Edit8.text);

  c1:=1;
  c2:=1;

  SetLength(TNA, n);       {init des tableaux}
  SetLength(TNB, n);

  tNA[0]:=dpa;
  tNB[0]:=dpb;

  series1.add(dpa);
  series2.add(dpb);

  coefR1:=c1*(S-dn1)-(pa1*dpa*dn1+pb1*dpb*dn1);
  coefR2:=c2*(S-dn2)-(pa2*dpa*dn2+pb2*dpb*dn2);

  coefnA:= dpa*(pa1*conv1A*dn1+pa2*conv1B*dn2-perteA);
  coefnB:= dpa*(pb1*conv2a*dn1+pb2*conv2B*dn2-perteB);


  pt_suiv_r1:=prec*coefR1;  {point 1}
  pt_suiv_r2:=prec*coefR2;

 


  for i:=1 to n  do
  begin
  tna[i]:=coefna*prec+tna[i-1];
  tnb[i]:=coefnb*prec+tnb[i-1];

  series1.add(tna[i]);
  series2.add(tnb[i]);

  coefr1:=c1*(S-pt_suiv_R1)-(pa1*dpa*pt_suiv_R1+pb1*dpb*pt_suiv_r1);
  coefR2:=c2*(S-pt_suiv_r2)-(pa2*dpa*pt_suiv_r2+pb2*dpb*pt_suiv_r2);

  coefna:=tna[i]*(pa1*conv1A*pt_suiv_r1+pa2*conv1B*pt_suiv_R2-perteA);
  coefnb:=tnb[i]*(pb1*conv2a*pt_suiv_r1+pb2*conv2B*pt_suiv_R2-perteA);


  pt_suiv_r1:=prec*coefR1;
  pt_suiv_r2:=prec*coefR2;

  if (pt_suiv_r1<0) then pt_suiv_r1:=0;  {pas de ressources négatives}
  if (pt_suiv_r2<0) then pt_suiv_r2:=0;  {ca ou zngi???? ou zngi est a l'equilibre}

 

  end;


  end;

   begin
{$R *.dfm}
    c1:=1;

    with form1 do
   Button1Click(form1);

end.


voila merci de votre aide

mercredi 10 mai 2006 à 18:46:24 | Re : pobleme d'execution

florenth

Membre Club
Héhé, je t'avais dit qu'avec un code, ça ira 10 fois mieux.
Sais-tu qu'un tableau de x éléments est indéxé depuis ?
Et donc que son dernier élément à l'index x - 1 ?
Aparament non.
Voila ce qui cloche.
 for i:=1 to n do
est à rmplacer par
for i := 0 to n - 1 do

Ah tiens, tant que j'y suis, nomme tes composants.
Parce que là, sans regarder, dis moi à quoi sert l'Edit13 ! Alors ?
Et si tu avais par exemple EdtTelephone tu saurais que l'edit contient un numéro de téléphone...

++

Si tu ne te plantes pas ......
tu ne pousseras jamais
mercredi 10 mai 2006 à 18:47:26 | Re : pobleme d'execution

florenth

Membre Club
Ah, il manque une lettre à la ligne deux : Sais-tu qu'un tableau de x éléments est indéxé depuis 0 (zéro) ?
Voila c'est tout.
mercredi 10 mai 2006 à 19:46:35 | Re : pobleme d'execution

sfkuhvdlkufgs

ah oui ....
bon j'ai changé ça, mais sa marche pas mieux.
sinon j'ai pas renomé mes tedits parce que je m'en sert juste une fois dans le programme et donc je n'ai pas trouvé sa utile.
Merci beaucoup

1 2 3

Cette discussion est classée dans : exe, execution, pobleme, entrés, project1


Répondre à ce message

Sujets en rapport avec ce message

Savoir le mon de l'exe qu'on execute [ par axeloflittoral ] Salut tout le monde !Voilà je voudrais savoir si quelq'un connait une instruction en delphi qui permet de savoir le nom de l'exe qu'on lance.Par exemp Execution d'Application (EXE) [ par MAsterC ] Salut à tous,Avec mon programme je voudrai exécuter un jeux... en appuyant sur un "button"...J'ai essayé avec SHELLAPI, ShellExecute(0,'open' ........ bloquage a l execution [ par valkyrie ] bonjour a tous (et a toutes)Mon prog bloque totalement pendant son exe si j ai le malheur d ouvrir une page web par exemple ou si j essaie tout betem ShellExecute : fin de l'execution [ par birdyz ] HelloVoila mon soucis. Mon appli lance dans un premier temps un EXE par ShellExecute. Cet EXE génère plusieurs fichiers d'exports et se ferme. Ensuite Runtime error 105 [ par Mercenaire2010 ] Bonjour, Je viens d'installer delphi 2009 sur Xp Quand j'exécute le code ( afficher hello world par ex.), il m'affiche ces messages en dessous. J'ai [Delphi 7] Inclusion fichier dans mon projet [ par Mat1554 ] Bonjour, voilà je vous explique, j'ai 4 fichiers que je veux inclure dans mon projet. [b]As.exe Thumb.bat objcopy.exe MPlayDef.s [/b] En tant normal problème de lenteur d'execution [ par samynaima ] Bonsoir tous le monde Voila je travaille avec un logiciel de gestion commerciale conçu avec delphi, j'ai recontré un problème qui consiste que l'execu explorer.exe et dossier courrant [ par retaks666 ] Bonjour, je voulais savoir comment je pourrais intercepter le click sur un dossier dans explorer.exe, et savoir le chemin du dossier(d'origine). Je pe BESOIN D'AIDE [ par adjena ] Existe-t-il une ruse à partir d'un exe delphi qui permette de désactiver la demande de password après un écran de veille. C'est à dire qu'après que l' icone sur EXE [ par ced55957 ] cedricbonjourj'aimerai savoir comment fait on pour changer une icone une fois l'EXE compiler ou avant d'etre conpilermerci d'avance


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales