![]() |
Thread Member size problem
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
I habe ein Projekt bestehend aus den beiden folgenden simplen files:
Code:
unit MyThread;
interface uses Classes; type TMyThread = class(TThread) private a : array[0..432] of Byte; //431 works end; implementation end.
Code:
Die letzte Code-Zeile nodeList := ... kehrt nie zurück wenn im thread der member "a" mehr als 432 einträge besitzt (so wie der code oben).
unit Main;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Xml.XMLDoc, Xml.XMLIntf, MyThread; type TForm1 = class(TForm) end; var Form1: TForm1; xmlDoc : TXMLDocument; nodeList : IXMLNodeList; myThread : TMyThread; implementation {$R *.dfm} begin myThread := TMyThread.Create(true); xmlDoc := TXMLDocument.Create(nil); xmlDoc.FileName := 'myXml.xml'; xmlDoc.Active := true; nodeList := xmlDoc.DocumentElement.ChildNodes.FindNode('PersonalData').ChildNodes; //never returns if TMyThread member "a" has more than 432 entries end. Wird ein Eintrag reduziert dann kehrt die letzte Code-Zeile sofort zurück: a : array[0..431] of Byte; Ich verstehe nicht warum der Thread und die Verarbeitung vom XML irgendetwas mit einander zu tun haben sollten. Irgendwie hab ich die Vermutung, dass hier Speicherbereiche überschrieben werden. Aber warum erscheint keine Fehlermeldung? Mach ich was falsch? Für weitere Informationen hab ich das ganze Projekt auch gleich angehängt. Ich erzeuge ein 32bit Applikation auf einen Windows 10 64bit System Bin dankbar für jede Antwort Erich |
AW: Thread Member size problem
[dcc32 Warnung] Main.pas(25): W1020 Instanz von 'TMyThread' mit der abstrakten Methode 'TThread.Execute' wird angelegt
Bitte erst einmal dieses Problem korrigieren. |
AW: Thread Member size problem
Zitat:
TXMLDocument ist immer etwas seltsam. Bei mir klappts, wenn ich xmlDoc als IXMLDocument deklariere. Edit: Entweder als IXMLDocument deklarieren, oder man muss beim Create einen Owner <> nil mitgeben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz