Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Zwischenablage Fehlermeldung (https://www.delphipraxis.net/108180-zwischenablage-fehlermeldung.html)

delphinia 8. Feb 2008 12:09


Zwischenablage Fehlermeldung
 
Ich erhalte immer mal wieder aber einfach zu sporadisch und nie reproduzierbar die Meldung:

"Zwischenablage konnte nicht geöffnet werden"

Jemand eine Idee dafür?!

Ich weiss nicht mal ob es bein Einfügen in diese oder erst beim auslesen entsteht!

hier mal die Kopierfunktion
Delphi-Quellcode:
  keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
  keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), 0, 0);
  keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), KEYEVENTF_KEYUP, 0);
  keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0);

und zum auslesen:

Delphi-Quellcode:
function GetStrFromClipbrd: string;
begin
  if Clipboard.HasFormat(CF_TEXT) then
    Result := Clipboard.AsText
  else
  begin
    Result := '';
  end;
end;

Vielleicht hat jemand eine Idee wie ich diese Meldung udn das Problem dessen beheben kann
Danke

uligerhardt 8. Feb 2008 13:03

Re: Zwischenablage Fehlermeldung
 
Kannst du statt der Tastendruck-Simulation nicht Clipboard.AsText := ... verwenden?

HTH,
Uli.

delphinia 8. Feb 2008 13:11

Re: Zwischenablage Fehlermeldung
 
Nein, da ich Text nicht aus einer Kompnente kopiere sondern text von anderen Inhalten die ausserhalb der Anwendung liegen

Bernhard Geyer 8. Feb 2008 13:30

Re: Zwischenablage Fehlermeldung
 
Wäre es nicht einfacher den Text mittels WM_GETTEXT-Windows-Message abzuholen als dafür die Zwischenablage zu mißbrauchen?

uligerhardt 8. Feb 2008 13:31

Re: Zwischenablage Fehlermeldung
 
Zitat:

Zitat von delphinia
Ich weiss nicht mal ob es bein Einfügen in diese oder erst beim auslesen entsteht!

Vermutlich kommt das beim Auslesen per AsText. Wahrscheinlich, weil nichts in der Zwischenablage ist, was wiederum drauf schließen lässt, dass der simulierte Tastendruck nicht oder nicht rechtzeitig ankommt. Wo steht denn der Text, den du in die Zwischenablage kriegen willst? Muss er überhaupt in die Zwischenablage oder willst du nur den String haben?

delphinia 8. Feb 2008 13:33

Re: Zwischenablage Fehlermeldung
 
Mein Vorhaben ist, texxt der in zb dem Firefox markiert wurde an mein Programm zu übergeben oder der Text der in WOrd markiert wurde!

Weiter sinn dabei ist das dieser String weiterverarbeitet wird

dominikkv 8. Feb 2008 13:54

Re: Zwischenablage Fehlermeldung
 
tja das gleiche Problem hatte ich gestern auch...
Liegt wohl irgendwie an Word (-> Office)
Ich habs so hinbekommen das ich auf Veränderungen im Clipboard reagiere... Quellcode dfür ist auf der verlinkten Seite^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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