Цитата:
Сообщение от ALexandr555
даже при ошибке он копирует в буфер
|
чушь какая-то... что у тебя за Delphi? кинь мне модуль Clipbrd.pas?
Код:
property AsText: string read GetAsText write SetAsText;
Код:
function TClipboard.GetAsText: string;
var
Data: THandle;
begin
Open;
Data := GetClipboardData(CF_TEXT);
try
if Data <> 0 then
Result := PChar(GlobalLock(Data))
else
Result := '';
finally
if Data <> 0 then GlobalUnlock(Data);
Close;
end;
end;
Код:
procedure TClipboard.Open;
begin
if FOpenRefCount = 0 then
begin
FClipboardWindow := Application.Handle;
if FClipboardWindow = 0 then
begin
{$IFDEF MSWINDOWS}
FClipboardWindow := Classes.AllocateHWnd(MainWndProc);
{$ENDIF}
{$IFDEF LINUX}
FClipboardWindow := WinUtils.AllocateHWnd(MainWndProc);
{$ENDIF}
FAllocated := True;
end;
if not OpenClipboard(FClipboardWindow) then
raise Exception.CreateRes(@SCannotOpenClipboard);
FEmptied := False;
end;
Inc(FOpenRefCount);
end;
Код:
SCannotOpenClipboard = 'Cannot open clipboard';
ну не может оно при таком эксепшене получить данные.