Salut !
Bon alors je pense que tout AGSien qui se respecte a déjà rencontré au moins une fois un message de ce type (enfin j'espère parce que sinon je vais vraiment m'inquiéter) :
Alors ce message fait toujours frissonner les étourdis comme moi qui ne font pas suffisamment régulièrement de sauvegarde externe de leurs données, car elle rend impossible la compilation du jeu ainsi que toute sauvegarde, et surtout, elle ne donne aucune information claire sur l'origine de l'erreur (à moins de savoir déchiffrer le charabia du rapport). Mais en général, il y a plus de peur que de mal, car c'est souvent un élément supprimé par erreur qui fait défaut, et qui n'a pas été détecté par AGS. On regarde les derniers trucs qu'on vient de faire et on trouve la faille.
Or là, ce message se met à intervenir de manière anarchique, et ça devient assez flippant. J'ai d'abord commencé par déplacer des lignes de codes des events des personnages (Character1_TalkTo) vers le début des dialogues correspondant pour plus de facilité. Rien de bien terrible, mais le message est apparu. Alors j'ai cherché ce qui n'allait pas, et ne trouvant rien, j'ai fini par faire des ctrl+z partout pour revenir à un stade où ça marchait. Et tout allait mieux. Je recommence mon action initiale et ça bug à nouveau. Cette fois, impossible de relancer le jeu, même en annulant. Je quitte AGS sans sauvegarder, de toute façon tout est sauvegardé à chaque test donc pas de problème. Tout fonctionne. Et surprise, au bout d'un moment je me rends compte que
sans rien toucher d'autre que l'ouverture et la fermeture du GlobalScript et de certains dialogues, le bug intervient et devient irrécupérable. Il me semble que ça arrive toujours quand j'essaie de lancer le jeu avec certains dialogues ainsi que le GlobalScript.asc ouvert. J'insiste bien sur le fait que j'ai eu plusieurs fois ce problème sans toucher au code ni a rien du tout, simplement en ouvrant et fermant des scripts.
Ça m'inquiète un peu... Des idées ? Je précise que j'utilise toujours la version 3.2.2.112 fr BETA...
EDIT : Après un test succint sur la version 3.2.1.111 anglo-saxonne, il semble que l'erreur n'intervient pas.
- Kitai a écrit:
- Je tiens quand même à noter que je n'ai pas recompilé la DLL Native (visual C++ déconnait pour je ne sais quelle raison) et que je l'ai simplement copiée/collée depuis AGS 3.2. C'est potentiellement source d'instabilité.
Est ce que ça pourrait venir de là ?
A moins que ce soit les éventuelles modifications apportées entre la .111 et la .112 qui soient en cause (je dis éventuelles car je ne sais pas si .112 correspond juste à la version fr ou a une légère modification du code source)...
EDIT 2 : Après plusieurs tests, j'ai identifié les conditions nécessaires à l'apparition du message : il apparait lorsque j'ouvre au moins un script de dialogue (n'importe lequel) que je le referme, et que je lance le test. Si je ne le referme pas et que je lance le test, pas de bug... Bizarre, hein ?
- Billbis a écrit:
- valoulef a écrit:
- en fait j'ai l'impression d'être le révélateur de tous les bugs ou défauts du logiciel
Mais les testeurs comme toi sont tout à fait essentiel pour le bon développement de notre logiciel préféré. Tu joue un rôle très important, et tu le remplit bien.
Ben c'est pas toujours de tout repos d'être un "supertesteur"
Ah oui et au lieu de dire des bêtises un brin égocentriques, je vais plutôt vous copier le rapport d'erreur, au cas où quelqu'un parlerait cette langue :
- Spoiler:
Error: Impossible d'accéder à un objet supprimé.
Nom de l'objet : 'ScintillaControl'.
Version: AGS 3.2.2.112
System.ObjectDisposedException: Impossible d'accéder à un objet supprimé.
Nom de l'objet : 'ScintillaControl'.
à System.Windows.Forms.Control.CreateHandle()
à System.Windows.Forms.Control.get_Handle()
à Scintilla.ScintillaControl.SendMessageDirect(UInt32 msg, IntPtr wParam, IntPtr lParam)
à Scintilla.ScintillaControl.SendMessageDirect(UInt32 msg, Int32 wParam, Int32 lParam)
à Scintilla.ScintillaControl.GetText()
à AGS.Editor.ScintillaWrapper.GetText()
à AGS.Editor.DialogEditor.SaveData()
à AGS.Editor.Components.DialogsComponent.BeforeSaveGame()
à AGS.Editor.ComponentController.NotifyAboutToSaveGame()
à AGS.Editor.ApplicationController._agsEditor_PreSaveGame(PreSaveGameEventArgs evArgs)
à AGS.Editor.AGSEditor.PreSaveGameHandler.Invoke(PreSaveGameEventArgs evArgs)
à AGS.Editor.AGSEditor.SaveGameFiles()
à AGS.Editor.Components.BuildCommandsComponent.TestGame(Boolean withDebugger)
à AGS.Editor.Components.BuildCommandsComponent.CommandClick(String controlID)
à AGS.Editor.ToolBarManager.ToolbarEventHandler(Object sender, EventArgs e)
à System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
à System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
à System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
à System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
à System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
à System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
à System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
à System.Windows.Forms.ToolStrip.WndProc(Message& m)
à AGS.Editor.ToolStripExtended.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)