![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Clipboard в Win98 и в WinXP [D6, Win95/98, WinXP]
Меджид © (2005-02-08 09:54:00)Здравия все Мастерам! Ситуация: из Word (Office 2000) в буфер копируется отрывок документа, с помощью ниже приведенного кода защвыриваю содержимое Буфера в BLOB поле. Проблема: в WinXP все работает, но вот в Win98 в базе ничего не появляется (в Win98 тоже установлен Office 2000). Почему это так? И что с этим можно сделать?
procedure TForm1.SaveQwes(iTmp: Integer);
var
H49163:Thandle;
MS49163:TMemoryStream;
B49163: Pointer;
L49163:longint;
begin
Clipboard.Open;
H49163:= Clipboard.GetAsHandle(49163);
if H49163 <> 0 then
begin
B49163:= GlobalLock(H49163);
if B49163 <> nil then
begin
try
MS49163:= TMemoryStream.Create;
try
L49163:= GlobalSize(H49163);
MS49163.WriteBuffer(B49163^,L49163);
MS49163.Position:=0;
Form1.Query1.ParamByName('Tst').LoadFromStream(MS49163,ftBlob);
finally
MS49163.Free;
end;
finally
GlobalUnlock(H49163);
end;
end;
Clipboard.Close;
end;
Query1.ParamByName('ID').AsInteger := iTmp;
Query1.ExecSQL;
Query1.SQL.Clear
end;
VMcL (2005-02-08 13:34:00) [1]>> Меджид (08.02.05 12:40) [2]
> Никогда им не пользовался
Мои соболезнования. Особенно, пользователям Ваших программ.
Меджид (2005-02-08 12:40:00) [2]Я уже выяснил в чем дело, все из-за значения подоваемый на вход функции
Clipboard.GetAsHandle(49163);вместо значения 49163, для Win98 нужно подставить 50744!
P.S.
>Skier © (08.02.05 10:15) [1]
>в Delphi дебагер есть...
Никогда им не пользовался
Skier (2005-02-08 10:15:00) [3]в Delphi дебагер есть...