Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: dmitry
http://hiprog.com/index.php?option=com_content&task=view&id=205
взял отсюда.

имеем след функцию

Function fnCLPSetData(sS As String) As String
Dim hGlobalMemory As Long, lpGlobalMemory As Long
Dim hClipMemory As Long, X As Long

' Allocate moveable global memory.
'-------------------------------------------
hGlobalMemory = GlobalAlloc(GHND, Len(sS) + 1)

' Lock the block to get a far pointer
' to this memory.
lpGlobalMemory = GlobalLock(hGlobalMemory)

' Copy the string to this global memory.
lpGlobalMemory = lstrcpy(lpGlobalMemory, sS)

' Unlock the memory.
If GlobalUnlock(hGlobalMemory) <> 0 Then
fnCLPSetData = ""
GoTo l_End
End If

' Open the Clipboard to copy data to.
If OpenClipboard(0&) = 0 Then
fnCLPSetData = ""
Exit Function
End If

' Clear the Clipboard.
X = EmptyClipboard()

' Copy the data to the Clipboard.
hClipMemory = SetClipboardData(CF_TEXT, hGlobalMemory)

l_End:

fnCLPSetData = sS
End Function

все отлично,но! несколько раз проработала нормально и забила видимо память. теперь при любой попытке что нить скопировать(не обязательно в бэйсике даже) ничего не происходит. а если это в бэйсике то падает ошибка "out of memory". как это обойти?
(правда против теории что память забилась есть 1 факт что по ктрл-v ничего не вставляется. но все же..)


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.