Hy!
Ich habe mir jetzt das Buch über Win32-Lösungen von Andreas Kosch
bestellt, ich kann aber nicht auf die Lieferung warten, denn ich
habe ein kleines Problem, dessen Lösung ich gleich benötige:
Ich verwende die Indy Komponenten zum Versenden von EMails.
Dabei erzeuge ich einen eigenen Thread zum Versenden.
Innerhalb des Threads wird die Mail zusammengestellt,
die Verbindung zum SMTP-Server hergestellt und die Mail versendet.
Funktioniert alles bestens, ausser ich versenden sehr grosse
Attachments mit (z.B. 10Mb). Dann steht nämlich die Hauptanwendung.
Ich verwende weder Synchronize (denn das würde blockieren)
noch TAntiFreeze von Indy (das würde die Anwendung nicht blockieren),
denn TAntiFreeze funktioniert nicht im Thread.
Es ist mir übrigends schon einmal aufgefallen, dass separate Threads
scheinbar meine Hauptanwendung kurzzeitig blockieren,
obwohl die Threads weder auf Komponenten oder Eigenschaften der Hauptanwendung zugreifen, noch mit Synchronize arbeiten.
Was könnten die Gründe dafür sein, dass ein Thread meine Hauptanwendung
blockiert? Was passiert, wenn ich eine Komponenten innerhalb eines
Threads erzeuge und dabei als Owner nil angebe? Liegt hier vielleicht
das Problem?
Danke
Schardl Robert
Ich habe mir jetzt das Buch über Win32-Lösungen von Andreas Kosch
bestellt, ich kann aber nicht auf die Lieferung warten, denn ich
habe ein kleines Problem, dessen Lösung ich gleich benötige:
Ich verwende die Indy Komponenten zum Versenden von EMails.
Dabei erzeuge ich einen eigenen Thread zum Versenden.
Innerhalb des Threads wird die Mail zusammengestellt,
die Verbindung zum SMTP-Server hergestellt und die Mail versendet.
Funktioniert alles bestens, ausser ich versenden sehr grosse
Attachments mit (z.B. 10Mb). Dann steht nämlich die Hauptanwendung.
Ich verwende weder Synchronize (denn das würde blockieren)
noch TAntiFreeze von Indy (das würde die Anwendung nicht blockieren),
denn TAntiFreeze funktioniert nicht im Thread.
Es ist mir übrigends schon einmal aufgefallen, dass separate Threads
scheinbar meine Hauptanwendung kurzzeitig blockieren,
obwohl die Threads weder auf Komponenten oder Eigenschaften der Hauptanwendung zugreifen, noch mit Synchronize arbeiten.
Was könnten die Gründe dafür sein, dass ein Thread meine Hauptanwendung
blockiert? Was passiert, wenn ich eine Komponenten innerhalb eines
Threads erzeuge und dabei als Owner nil angebe? Liegt hier vielleicht
das Problem?
Danke
Schardl Robert
Comment