AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TThread und TObjectList

Ein Thema von borncrush · begonnen am 10. Feb 2008 · letzter Beitrag vom 11. Feb 2008
 
Benutzerbild von borncrush
borncrush

Registriert seit: 18. Dez 2005
Ort: Berlin
115 Beiträge
 
Delphi XE7 Enterprise
 
#1

TThread und TObjectList

  Alt 10. Feb 2008, 23:18
Hallo,

ich habe ein Problem, welches auch nach langer Recherche im Internet nicht geklärt werden konnte, dass mich zu schaffen macht.

Ich habe folgenden Thread (komplette Unit):
Delphi-Quellcode:
unit uTCalendarThread;

interface

uses
  Classes,Contnrs,StrUtils;

type
  TCDate=class(TObject)
  public
    sCaption:String;
    sStartTime:TDateTime;
    sEndTime:TDateTime;
  end;

  TCalendarThread = class(TThread)
  private

  protected
    procedure Execute; override;
  public
    CDateList:TObjectList;
    constructor Create;
    destructor Destroy;
  end;

implementation

uses SysUtils;

{ TCalendarThread }

constructor TCalendarThread.Create;
begin
  self.CDateList:=TObjectList.Create; //### #Problemstelle# ###
  inherited Create(False);
end;

destructor TCalendarThread.Destroy;
begin
  FreeAndNil(Self.CDateList);
end;

procedure TCalendarThread.Execute;
var s:TCDate;
begin
  while not Terminated do begin
    s:=TCDate.Create; //testobjekt hinzufügen
    CDateList.Clear;
    CDateList.Add(s);
  end;
end;


end.
Beim Erstellen und Starten des Thread (TCalendarThread) erhalte ich eine "Access Violation"-Meldung, solange es ein Programm mit MDI-Form ist.

Aufruf innerhalb der MDI-Form:
Delphi-Quellcode:
var TThTest:TCalendarThread;

[...]

procedure TfrmMain.FormCreate(Sender: TObject);
[...]
   TThTest:=TCalendarThread.Create(false);//Instanz erzeugen und Thread starten
[...]
Sobald ich ein Delphi-Projekt ohne MDI-Fenster erstelle/benutze, funktioniert es tadellos.
Diesen Unterschied konnte ich sicher feststellen, jedoch verstehe ich den Hintergrund nicht bzw. kann keine Lösung entwickeln. Wobei mir das Zweite wichtiger ist.

Ich hoffe, dass jemand mir weiterhelfen kann.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 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 by Thomas Breitkreuz