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

EDI Delphi Discussion :

[D10 Seattle] La fermeture d'un source provoque une erreur pointeur, celle de l'EDI une erreur sur rtl230


Sujet :

EDI Delphi

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut [D10 Seattle] La fermeture d'un source provoque une erreur pointeur, celle de l'EDI une erreur sur rtl230
    Bonjour,

    Tout est dans le titre ou presque. J'ai une unité FMX qui me pose des problèmes à sa fermeture et je n'arrive pas à mettre le doigt sur la partie coupable . Comment retrouver ce coupable dans ce détail
    [5005F5F8]{rtl230.bpl } System.TObject.FreeInstance (Line 16187, "System.pas" + 2) + $2
    [5005A3D6]{rtl230.bpl } System.ErrorAt (Line 5527, "System.pas" + 3) + $4
    [5005A41A]{rtl230.bpl } System.Error (Line 5538, "System.pas" + 1) + $7
    [5005F5F8]{rtl230.bpl } System.TObject.FreeInstance (Line 16187, "System.pas" + 2) + $2
    [5005FECE]{rtl230.bpl } System.@ClassDestroy (Line 17536, "System.pas" + 0) + $2
    [0857E51C]{fmx230.bpl } FMX.Controls.Model.TDataModel.Destroy (Line 82, "FMX.Controls.Model.pas" + 2) + $1
    [5005F77C]{rtl230.bpl } System.TObject.Free (Line 16255, "System.pas" + 1) + $4
    [0859852F]{fmx230.bpl } FMX.Controls.Presentation.TPresentedControl.Destroy (Line 532, "FMX.Controls.Presentation.pas" + 1) + $0
    [5005F77C]{rtl230.bpl } System.TObject.Free (Line 16255, "System.pas" + 1) + $4
    [089954E5]{fmx230.bpl } FMX.MultiView.Presentations.TMultiViewBaseBorderWithOverlayPresentation.DefineDetailOverlayMode (Line 1160, "FMX.MultiView.Presentations.pas" + 3) + $B
    [08993BBD]{fmx230.bpl } FMX.MultiView.Presentations.TMultiViewDrawerBasePresentation.DefineShadowOpacity (Line 442, "FMX.MultiView.Presentations.pas" + 6) + $4
    [5005F77C]{rtl230.bpl } System.TObject.Free (Line 16255, "System.pas" + 1) + $4
    [0899A26D]{fmx230.bpl } FMX.MultiView.TCustomMultiView.Destroy (Line 523, "FMX.MultiView.pas" + 5) + $4
    [5005F77C]{rtl230.bpl } System.TObject.Free (Line 16255, "System.pas" + 1) + $4
    [087C2D7E]{fmx230.bpl } FMX.Types.TFmxObject.DoDeleteChildren (Line 4878, "FMX.Types.pas" + 5) + $6
    [50160520]{rtl230.bpl } System.Classes.RemoveFixups (Line 9127, "System.Classes.pas" + 14) + $8
    [08730609]{fmx230.bpl } FMX.Controls.TControl.Create (Line 1825, "FMX.Controls.pas" + 39) + $15
    [087C2E12]{fmx230.bpl } FMX.Types.TFmxObject.DefineProperties (Line 4892, "FMX.Types.pas" + 2) + $17
    [087C1CCE]{fmx230.bpl } FMX.Types.TFmxObject.Destroy (Line 4269, "FMX.Types.pas" + 4) + $2
    [087307F2]{fmx230.bpl } FMX.Controls.TControl.Destroy (Line 1859, "FMX.Controls.pas" + 14) + $19
    [5005F77C]{rtl230.bpl } System.TObject.Free (Line 16255, "System.pas" + 1) + $4
    [087C2D7E]{fmx230.bpl } FMX.Types.TFmxObject.DoDeleteChildren (Line 4878, "FMX.Types.pas" + 5) + $6
    [5005A19C]{rtl230.bpl } System.@FreeMem (Line 4644, "System.pas" + 20) + $0
    [08773A28]{fmx230.bpl } FMX.Forms.TCommonCustomForm.DoClose (Line 5108, "FMX.Forms.pas" + 2) + $5
    [087775CA]{fmx230.bpl } FMX.Forms.TCustomForm.DoAddObject (Line 5986, "FMX.Forms.pas" + 19) + $E
    [087C2E12]{fmx230.bpl } FMX.Types.TFmxObject.DefineProperties (Line 4892, "FMX.Types.pas" + 2) + $17
    [087C1CCE]{fmx230.bpl } FMX.Types.TFmxObject.Destroy (Line 4269, "FMX.Types.pas" + 4) + $2
    [0876C45A]{fmx230.bpl } FMX.Forms.TCommonCustomForm.Destroy (Line 2681, "FMX.Forms.pas" + 52) + $6
    [087765FB]{fmx230.bpl } FMX.Forms.TCustomForm.Destroy (Line 5619, "FMX.Forms.pas" + 1) + $19
    [211770D4]{designide230.bpl} Proxies.DestroyHook (Line 281, "Proxies.pas" + 2) + $6
    [5005F77C]{rtl230.bpl } System.TObject.Free (Line 16255, "System.pas" + 1) + $4
    [080E5EBA]{fmxdesigner230.bpl} FmxFormDesigner.TFmxRootDesigner.DeinitializeDesigner (Line 600, "FmxFormDesigner.pas" + 8) + $2
    [211B29FF]{designide230.bpl} ComponentDesigner.TComponentRoot.InternalDeinitializeDesigner (Line 4978, "ComponentDesigner.pas" + 24) + $B
    [211B5631]{designide230.bpl} ComponentDesigner.TComponentRoot.Close (Line 5913, "ComponentDesigner.pas" + 5) + $5
    [21E354FC]{delphicoreide230.bpl} DelphiModule.TPascalCodeMgrModHandler.Destroyed (Line 759, "DelphiModule.pas" + 11) + $5
    [2087FDE5]{coreide230.bpl} DocModul.TCodeIDocModule.NotifyDestroyed (Line 2437, "DocModul.pas" + 1) + $8
    [2118961D]{designide230.bpl} ToolUtils.ForEach (Line 99, "ToolUtils.pas" + 5) + $F
    [2087FD56]{coreide230.bpl} DocModul.TCodeIDocModule.NotifyDestruction (Line 2421, "DocModul.pas" + 1) + $3
    [2087CD24]{coreide230.bpl} DocModul.TDocModule.BeforeDestruction (Line 993, "DocModul.pas" + 12) + $2B
    [5005FF2D]{rtl230.bpl } System.@BeforeDestruction (Line 17576, "System.pas" + 10) + $0
    [206A9B8E]{coreide230.bpl} SourceModule.TSourceModule.Create (Line 426, "SourceModule.pas" + 30) + $C0
    [5005F77C]{rtl230.bpl } System.TObject.Free (Line 16255, "System.pas" + 1) + $4
    [2087DF12]{coreide230.bpl} DocModul.WalkDependencies (Line 1628, "DocModul.pas" + 7) + $E
    [2087DF5D]{coreide230.bpl} DocModul.WalkDependencies (Line 1634, "DocModul.pas" + 13) + $E
    [2087D04F]{coreide230.bpl} DocModul.TDocModule.Close (Line 1107, "DocModul.pas" + 10) + $5
    [2087DBC6]{coreide230.bpl} DocModul.TDocModule.SaveAndClose (Line 1467, "DocModul.pas" + 2) + $8
    [2087F3A8]{coreide230.bpl} DocModul.TCodeIDocModule.GetViewCount (Line 2143, "DocModul.pas" + 0) + $0
    [20776A6D]{coreide230.bpl} EditorBuffer.TEditBuffer.Save (Line 2723, "EditorBuffer.pas" + 2) + $7
    [2077AD9B]{coreide230.bpl} EditorBuffer.TEditView.SaveAndClose (Line 5005, "EditorBuffer.pas" + 1) + $8
    [207C67B8]{coreide230.bpl} EditorControl.TCustomEditControl.CloseView (Line 1898, "EditorControl.pas" + 8) + $5
    [2077B9B3]{coreide230.bpl} EditorBuffer.TEditView.TryCloseView (Line 5495, "EditorBuffer.pas" + 2) + $C
    [207B8C84]{coreide230.bpl} EditorForm.TEditWindow.ViewToggleFormItemClick (Line 5506, "EditorForm.pas" + 0) + $C
    [501717CF]{rtl230.bpl } System.Classes.TBasicAction.Execute (Line 16377, "System.Classes.pas" + 3) + $7
    [5097CA26]{vcl230.bpl } Vcl.ActnList.TCustomAction.Execute (Line 259, "Vcl.ActnList.pas" + 19) + $35
    [50171627]{rtl230.bpl } System.Classes.TBasicActionLink.Execute (Line 16288, "System.Classes.pas" + 2) + $7
    [50AC0F77]{vcl230.bpl } Vcl.Menus.TMenuItem.Click (Line 2537, "Vcl.Menus.pas" + 17) + $7
    [50AC2624]{vcl230.bpl } Vcl.Menus.TMenu.DispatchCommand (Line 3461, "Vcl.Menus.pas" + 5) + $4
    [50AC3896]{vcl230.bpl } Vcl.Menus.TPopupList.WndProc (Line 4622, "Vcl.Menus.pas" + 4) + $E
    [5006010C]{rtl230.bpl } System.TMonitor.CheckOwningThread (Line 17759, "System.pas" + 2) + $0
    [50060416]{rtl230.bpl } System.TMonitor.Exit (Line 17945, "System.pas" + 1) + $2
    [50060467]{rtl230.bpl } System.TMonitor.Exit (Line 17967, "System.pas" + 2) + $7
    [5097528F]{vcl230.bpl } Vcl.Graphics.FreeMemoryContexts (Line 7051, "Vcl.Graphics.pas" + 12) + $8
    [50997688]{vcl230.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9786, "Vcl.Controls.pas" + 3) + $6
    [50AC37E5]{vcl230.bpl } Vcl.Menus.TPopupList.MainWndProc (Line 4597, "Vcl.Menus.pas" + 2) + $5
    [5017252C]{rtl230.bpl } System.Classes.StdWndProc (Line 16881, "System.Classes.pas" + 8) + $0
    [50ADE229]{vcl230.bpl } Vcl.Forms.TApplication.CancelHint (Line 11267, "Vcl.Forms.pas" + 6) + $D
    [50ADCEBB]{vcl230.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10438, "Vcl.Forms.pas" + 23) + $1
    [50ADCEFE]{vcl230.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10468, "Vcl.Forms.pas" + 1) + $4
    [50ADD231]{vcl230.bpl } Vcl.Forms.TApplication.Run (Line 10606, "Vcl.Forms.pas" + 26) + $3
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Décidemment l'EDI en mode FMX, il souffre !
    Quoi que je me rappelle D7 qui n'appréciait pas de rouvrir une fenêtre une TListView avec trop d'élément en DesignTime, tellement que j'ai du coup tout charger en RunTime pour stabiliser l'IDE

    Tu n'aurais pas l'erreur depuis que tu as joué avec FMX.MultiView pour aider dans le sujet [Delphi 10] Bug aléatoire dans l'IDE : "Index ImageList non valide" ?

    Pas toujours évident de lire la pile d'appel mais il beaucoup de System.TObject.Free et va savoir si FMX.Types.TFmxObject.Destroy concerne le même objet ou deux objets différents

    une erreur d'opération incorrecte sur un pointeur, c'est souvent une double libération !

    As tu réussi de le reproduire avec un mini-projet de reproduction ?
    Après il ne restera plus que Quality Central !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonsoir,
    Citation Envoyé par ShaiLeTroll Voir le message
    Décidemment l'EDI en mode FMX, il souffre !
    c'est mon premier planton depuis une tentative avortée de modification d'un composant pour avoir des liaisons avec livebindings sur certains composants non liables
    et cela fait déjà un bout de temps

    Citation Envoyé par ShaiLeTroll Voir le message
    Tu n'aurais pas l'erreur depuis que tu as joué avec FMX.MultiView pour aider dans le sujet [Delphi 10] Bug aléatoire dans l'IDE : "Index ImageList non valide" ?
    Non rien à voir
    Citation Envoyé par ShaiLeTroll Voir le message
    Quoi que je me rappelle D7 qui n'appréciait pas de rouvrir une fenêtre une TListView avec trop d'élément en DesignTime, tellement que j'ai du coup tout charger en RunTime pour stabiliser l'IDE
    ça c'est une piste intéressante, le problème avec les Livebindings c'est que ça fait tellement de trucs lors du design qu'un seul mal détruit provoque ce genre de cata, je vais suivre les indices

    Citation Envoyé par ShaiLeTroll Voir le message
    As tu réussi de le reproduire avec un mini-projet de reproduction ?
    Après il ne restera plus que Quality Central !
    Non, et sans reproduction simple pas la peine d'aller au quality central
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par SergioMaster Voir le message
    c'est mon premier planton depuis une tentative avortée de modification d'un composant pour avoir des liaisons avec livebindings sur certains composants non liables
    et cela fait déjà un bout de temps
    Tu as bien de la chance. Seattle est plus stable que XE8, mais en utilisation intensive avec FMX, il y a encore une marge de progression tangible...

    Sinon, j'ai exactement le même problème avec un groupe de projets. Par empirisme, j'associe cette erreur à un fichier de ressource FMX corrompu (Delphi modifie sans arrêt les fmx lors des enregistrements, même quand on n'est intervenu que sur le code), mais je n'ai pas encore identifié lequel, et donc encore moins l'origine du problème...
    Philippe.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par Ph. B. Voir le message
    Tu as bien de la chance. Seattle est plus stable que XE8, mais en utilisation intensive avec FMX, il y a encore une marge de progression tangible...
    on est d'accord
    Sinon, j'ai exactement le même problème avec un groupe de projets. Par empirisme, j'associe cette erreur à un fichier de ressource FMX corrompu (Delphi modifie sans arrêt les fmx lors des enregistrements, même quand on n'est intervenu que sur le code), mais je n'ai pas encore identifié lequel, et donc encore moins l'origine du problème...
    Je ne suis donc pas seul , quelque part cela me rassure et je suis encore d'accord, pour moi il s'agit de l'utilisation "intensive" des Livebindings qui génère le problème.
    (par intensive je pense au liaisons avec les listes et l'utilisation de table maitre-détails)

    ce qui me fait penser à ça ? le fait que quelquefois, en ouvrant le projet, soit : un datamodule contenant les informations de connexion et des requêtes ou tables et n formes contenant quelques fois des requêtes, j'ai un message d'avertissement m'indiquant que les infos de connexion ne sont pas fournies pour ces dernières. Comme si la hiérarchie d'ouverture et à fortiori de fermeture n'était pas respectée (le datamodule avant la forme) . Cela étant c'était déjà le cas avec D3 la chose qui change c'est les Livebindings
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    j'ai enfin trouvé le coupable un composant TMultiview posé sur la fiche j'ai décidément beaucoup de mal avec ce dernier !
    pour ce faire j'ai quand même du y aller par empirisme, supprimant d'abord tous les livebindings (toujours l'erreur), copiant/collant ensuite tous les composants visuel sur une autre forme (pas d'erreur et pourtant !)

    le gag c'est que Shailetroll avec sa remarque
    Tu n'aurais pas l'erreur depuis que tu as joué avec FMX.MultiView pour aider dans le sujet [Delphi 10] Bug aléatoire dans l'IDE : "Index ImageList non valide" ?
    y était presque, bien que sans rapport

    Supposer que TMultiview est bogué ......
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 15/06/2015, 15h48
  2. Réponses: 1
    Dernier message: 27/03/2014, 08h06
  3. Réponses: 14
    Dernier message: 22/12/2008, 13h50
  4. erreur lors de l ajour d'une nouvelle source
    Par kate59 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 21/04/2008, 17h44
  5. Réponses: 2
    Dernier message: 10/07/2006, 16h10

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