Probleme beim Einbinden der Zwischenablage [gelöst]
Übersicht

![]() |
d-bugBetreff: Probleme beim Einbinden der Zwischenablage [gelöst] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moinsen,
hab mal ein Bisserl mal versucht die API Zwischenablage einzubinden. Bei BB3D gings ja noch, aber bei BMax... Code: [AUSKLAPPEN] Extern "Win32" Function OpenClipboard:Int (hwnd:Int) Function CloseClipboard:Int () Function IsClipboardFormatAvailable:Int (format:Int) Function EmptyClipboard:Int () Function GetClipboardData:String (format:Int) Function SetClipboardData:Int (format:Int,str:String) End Extern Function WriteClipboard (istr:String) Local clipboard = 1 If istr <> "" OpenClipboard 0 EmptyClipboard () SetClipboardData (clipboard,istr) CloseClipboard EndIf End Function Function ReadClipboard:String() Local clipboard = 1 Local clip:String OpenClipboard 0 If IsClipboardFormatAvailable (clipboard) clip = GetClipboardData (clipboard) EndIf CloseClipboard Return clip End Function Graphics 1024,768 txt:String = "" Repeat Cls If KeyDown(Key_LControl) And KeyHit(Key_V) txt = ReadClipboard() DrawText txt,100,100 Flip FlushMem Until KeyHit(Key_Escape) end Es werden alle eingebundenen API-Funktionen gefunden. Soweit so gut. Sobald ich jetzt aber mit der Funktion ClipboardRead () die Zwischenablage auslesen will kommt eine lustige "Unhandled Memory Exception Error" Fehlermeldung und BMax bricht ab... Keinen Schimmer, woran das wohl liegen mag. Wäre schön, wenn mir da mal jemand auf die Sprünge helfen könnte... |
||
- Zuletzt bearbeitet von d-bug am Fr, Jan 28, 2005 23:09, insgesamt einmal bearbeitet
morszeck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Funktion für VBasic geht ein wenig anders: http://www.activevb.de/tipps/v...p0520.html
Probiere sowiso immer den Code so zuschreiben dass es zu kein Problem führt: Code: [AUSKLAPPEN] Const CF_HDROP = 0 Function ReadClipboard:String() Local clipboard:Int = 1 Local clip:String If IsClipboardFormatAvailable (CF_HDROP) then OpenClipboard (0) clip = GetClipboardData (CF_HDROP) CloseClipboard Return clip EndIf Return 0 End Function |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
@morszeck
Erst mal danke für Deine Antwort. Im Prinzip machst du aber doch auch nichts anders als ich, oder ? Dein Code funktioniert aber auch nicht, bringt die gleiche Fehlermeldung und ist falsch, denn das Clipboard-Format für Text (CF_TEXT) muß 1 sein, und nicht 0... Denn 0 heißt wohl, das kein bekanntes Format im Clipboard ist, oder ? greetz |
||
morszeck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
frag mal im eng Forum nach... | ||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Juhuuuh, englisches Forum rulez !!! ![]() Das ist die Lösung : Code: [AUSKLAPPEN] Function ClipboardRead:String() Const CF_TEXT = 1 Local clip:String Local cbd:Int If OpenClipboard(0) If IsClipboardFormatAvailable(CF_TEXT) cbd=GetClipBoardData(CF_TEXT) clip=clip.FromCString(Byte Ptr cbd) EndIf CloseClipboard Return clip EndIf End Function Fragt sich nur, wie JB auf das "FromCString"-Zeugs gekommen ist ? Kann den Befehl in keinem Module finden, oder hab ihn einfach übersehen ?! |
||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Juhu, FromCString brauche ich gerade! Schade, das man in Types noch keine C-Strigns einbetten kann. | ||
vertex.dreamfall.at | GitHub |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group