Hi
Ich will das Clipboard überwachen und bei Änderungen den Text auswerten.
Ich hab mir also nen Timer geschnappt der jede Sekunde das ausführt:
Delphi-Quellcode:
uses
{...}, clipbrd, {...}
procedure TfMain.tmrClipboardTimerTimer(Sender: TObject);
begin
if oldClipboardText <> Clipboard.AsText then
begin
oldClipboardText := Clipboard.AsText;
if chk1.Checked then
ClipboardChanged(oldClipboardText);
end;
end;
Funktioniert auch recht gut...
...aber!
Wenn ich nun Outlook starte, ne E-mail öffne und nen Textausschnitt in die Zwischenablage kopiere wird wie gewollt meine procedure ClipboardChanged ausgeführt.
Nun schließe ich Outlook wieder und bekomme in meinem Programm den Fehler:
Zitat:
exception class :
Exception
exception message : Zwischenablage kann nicht geöffnet werden.
Und hier noch der Stack:
Zitat:
main thread ($1188):
0047e1ff +04b MyProg.exe Clipbrd TClipboard.Open
0047e241 +011 MyProg.exe Clipbrd TClipboard.GetAsText
004b3fd8 +020 MyProg.exe uMain 131 +1 TfMain.tmrClipboardTimerTimer
0047d097 +01b MyProg.exe ExtCtrls 2281 +1 TTimer.Timer
0047cf03 +02f MyProg.exe ExtCtrls 2239 +4 TTimer.WndProc
...
Hat jemand ne Idee woran das liegt?
mfg.Dominik