Этот вопрос относится к этому вместе с его принятый ответ размещен здесь в stackoverflow.
Я не чувствую себя комфортно в программировании Windows API.
Изучение способа EasyGPS от Topografix обрабатывает манипуляции с буфером обмена, я обнаружил, что он использует собственный формат буфера обмена с именем GPX
, который на самом деле представляет собой обычный текст XML (GPX, если быть точным). Использование Clipboard.AsText исключено.
Я спотыкаюсь на этом этапе:
program ProbeClipboard;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows,
ClipBrd;
var
CF_GPX: Cardinal;
ClipboardData: THandle;
begin
CF_GPX:=RegisterClipboardFormat('GPX');
if ClipBoard.HasFormat(CF_GPX) then
begin
Writeln('GPX format available in clipboard');
//
OpenClipboard(0);
ClipboardData := GetClipboardData(CF_GPX);
if ClipboardData = 0 then
raise Exception.Create('Clipboard data Error');
/// How to use GlobalLock and GlobalUnLock
/// so that I can paste the Clipboard data
/// to a TMemo instance for example
CloseClipboard;
end;
end.
Пожалуйста, помогите мне исправить эту программу.
OpenClipboard
. Вам также нужна проверка ошибок при вызовеOpenClipboard
. - person David Heffernan   schedule 01.01.2012