IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

[Erreur fatale] : Erreur interne : C1141


Sujet :

Langage Delphi

  1. #1
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut [Erreur fatale] : Erreur interne : C1141
    Bonjour,

    J'ai le message d'erreur suivant lors de la compilation sous Delphi 5 :
    [Erreur fatale] uLesBezier.pas(1013): Erreur interne : C1141
    J'ai aussi fouillé le net pour savoir ce qu'est cette erreur C1141 mais sans trouver.
    C'est quoi cette erreur et comment la rectifier ???. S.V.P
    Elle survient dans ce bout du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    end else begin
                 if (TD=PolyGoneEtoile) and (not odd(nbPc)) then
                 begin 
                     jp1:=(nbPc shr 1)-1;
                     if PointSurDroiteD(Poly[0],Poly[jp1], Pt, m)
                     then begin Result:=True; EXIT; end;
                     for jpc:=1 to jp1 do begin
                          if PointSurDroiteD(Poly[jpc-1],Poly[jpc], Pt, m)
                          then begin Result:=True; EXIT; end;
                     end;
                     if jp1 = jp1 then begin //<-- bidouille contournant l''Erreur fatale C1141 sinon il me faut supprimer les 2 lignes suivantes  
                         if PointSurDroiteD(Poly[jp1+1],Poly[High(Poly)], Pt, m)
                         then begin Result:=True; EXIT; end;
                     end;
                     {if jp1 = jp1 then begin //<- mais ici la même bidouille ne résoud pas l''Erreur fatale C1141
                         for jpc:=jp1+2 to High(Poly) do begin
                             if PointSurDroiteD(Poly[jpc-1],Poly[jpc], Pt, m)
                             then begin Result:=True; EXIT; end;
                         end;
                     end;}
                 end;
             end;
    end; // PointSurPolygone
    Donc si quelqu'un avait une idée cela m'arrangerait bien.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  2. #2
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    Vous avez essayer désactiver l'optimisation des options de compilation?
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Euh ... quel est l’intérêt de comparer une valeur à elle même ?

    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    JustMe : Vous avez essayer désactiver l'optimisation des options de compilation?
    Non, mais je vais essayer.

    Rayek : Euh ... quel est l’intérêt de comparer une valeur à elle même ?
    if jp1 = jp1 then
    Bin, comme je n'ai pas trouvé de réponse sur le net, ni d'erreur de syntaxe dans le code j'ai essayé toutes sortes de bidouillages pour contourner l'erreur de compilation, et celle-ci a permis de faire digérer les deux lignes de code suivant ce if ... mais la même bidouille ne marche pas pour la suite.

    Bon, je vais essayer de desactiver l'optimisation des options de compilation.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Re-bonjour,

    La désactivation de l'optimisation des options de compilation n'a rien donné.

    Par contre en réorganisant le bout de code comme suit le compilo ne tousse plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    function PointSurPolygone(const Pt : tPointD; TD : tTypeDessin; Poly: tAOPD): boolean;
    const    m = 5; // marge de tolérance
    var      nbPc,jp1 : integer;
     
             function PointSurAutres(j1,j2 : integer) : boolean;
             var      j : integer;
             begin    for j:=j1 to j2 do begin
                          Result:=PointSurDroiteD(Poly[j-1],Poly[j], Pt, m);
                          if Result then Break;
                      end;
             end;
     
    begin    Result:=False; nbPc:=length(Poly);
             if ((TD=PolyGoneEtoile) or (TD=PolygoneER)) and (not odd(nbPc)) then
             begin jp1:=(nbPc shr 1)-1;
                   if PointSurDroiteD(Poly[0],Poly[jp1], Pt, m) then begin Result:=True; EXIT; end;
                   Result:=PointSurAutres(1,jp1);
                   if Result then EXIT;
                   if PointSurDroiteD(Poly[jp1+1],Poly[High(Poly)], Pt, m) then begin
                        Result:=True; EXIT;
                   end;
                   Result:=PointSurAutres(jp1+2,High(Poly));
             end else
             begin if PointSurDroiteD(Poly[0], Poly[High(Poly)], Pt, m) then
                   begin Result:=True; EXIT; end;
                   Result:=PointSurAutres(1,High(Poly));
                 EXIT;
             end;
    end; // PointSurPolygone
    Bon, je vais marquer comme résolu bien que j'aurais bien aimé savoir ce qu'est cette Erreur interne : C1141

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/05/2011, 17h57
  2. Réponses: 6
    Dernier message: 04/06/2010, 11h37
  3. erreur de compilation interne! visual C++ 6.0
    Par hugozy77 dans le forum MFC
    Réponses: 1
    Dernier message: 15/04/2005, 16h29
  4. Réponses: 6
    Dernier message: 15/01/2005, 23h34
  5. F1004 Erreur du compilateur interne
    Par psau dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2004, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo