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 kann nicht geöffnet werden. (https://www.delphipraxis.net/96560-zwischenablage-kann-nicht-geoeffnet-werden.html)

Dumpfbacke 26. Jul 2007 18:06


Zwischenablage kann nicht geöffnet werden.
 
Hallo,
ich steuere mit meien Programm ein anderes und sende die Daten an das Programm indem ich einen Tastendruck simuliere. Nun habe ich auch eine größeres Textfeld welche ich gern übertragen möchte. Dieses machen ich dadurch, indem ich den Text in die Wischenablege kopiere und dann mit CRTL V einfüge. Das ganze geht auch ganz gut. Jedoch ab und zu erhalte ich die Fehlermeldung Zwischenablage kann nicht geöffnet werden. Die Fehlermelung kommt so lange bis ich mein Programm schließe und neu starte. Dann geht es ohne Probleme. Manchmal geht es Tage gut manchmal kommt die Fehlermeldung schon beim 2. Übertragen der Daten. Muß man für die Zwischenablage vorher Speicher reservieren und dann nachher freigenen ? Oder wss könnt sonst sein ?

Tanja

Luckie 26. Jul 2007 20:09

Re: Zwischenablage kann nicht geöffnet werden.
 
Zitat:

Zitat von Dumpfbacke
Dieses machen ich dadurch, indem ich den Text in die Wischenablege kopiere und dann mit CRTL V einfüge.

Ich hoffe, du sicherst den Inhalt der Zwischenablage und stellst ihn wieder her?

Und was spricht gegen WM_SETTEXT?

Dumpfbacke 27. Jul 2007 08:36

Re: Zwischenablage kann nicht geöffnet werden.
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Dumpfbacke
Dieses machen ich dadurch, indem ich den Text in die Wischenablege kopiere und dann mit CRTL V einfüge.

Ich hoffe, du sicherst den Inhalt der Zwischenablage und stellst ihn wieder her?

Und was spricht gegen WM_SETTEXT?

Ich mache das in meinen Programm so:

Delphi-Quellcode:
Clipboard.Clear;
Clipboard.AsText := memo.Text //Im MeMo steht mein Text
//Ab wird wird dann der Text in das benötigte Feld eingefügt
//Hierzu simuliere ich ein STRG V
Gibt es noch einen Möglichkeit ? Wie kann ich den denn Inhalt sichern ?

:gruebel: :gruebel:
Tanja

hoika 27. Jul 2007 08:52

Re: Zwischenablage kann nicht geöffnet werden.
 
Hallo,

gibt du denn die Clipboard-Variable auch wieder frei ?


Heiko

Dumpfbacke 27. Jul 2007 11:52

Re: Zwischenablage kann nicht geöffnet werden.
 
Zitat:

Zitat von hoika
Hallo,

gibt du denn die Clipboard-Variable auch wieder frei ?


Heiko

Nein. Wie kann ich es denn machen ?

Tanja

bitsetter 27. Jul 2007 12:06

Re: Zwischenablage kann nicht geöffnet werden.
 
Zitat:

Zitat von Luckie
Und was spricht gegen WM_SETTEXT?

Wenn gar nicht anders, mit WM_SETTEXT kannst du doch auch fremde Felder ausfüllen.
Delphi-Quellcode:
SendMessage({handle}, WM_SETTEXT, 0, LPARAM(@Memo.Text[1]));

hoika 27. Jul 2007 13:46

Re: Zwischenablage kann nicht geöffnet werden.
 
Hallo,

zum Clipboard freigeben:

Delphi-Quellcode:
ClipBoard:= TClipBoard.Create(?);
try
  DoSomeClipBorad stuff ...
finally
  ClipBoard.Free:
end;

Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz