---------------------------------------------------------------------------
| 1637 | } |
| 1638 | //--------------------------------------------------------------------------- |
| 1639 | bool setClipboard(AnsiString & lines){ |
| 1640 | HGLOBAL handle; |
| 1641 | LPTSTR linesCopy; |
| 1642 | int lines_length = lines.Length(); |
| 1643 | |
| 1644 | if (!OpenClipboard(NULL)) |
| 1645 | return false; |
| 1646 | |
| 1647 | EmptyClipboard(); |
| 1648 | |
| 1649 | if((handle = GlobalAlloc(GMEM_MOVEABLE|GMEM_DDESHARE, lines_length + 1))==NULL) |
| 1650 | goto closeclip; |
| 1651 | |
| 1652 | if((linesCopy = (LPTSTR)GlobalLock(handle))==NULL) |
| 1653 | goto freemem; |
| 1654 | |
| 1655 | memcpy(linesCopy, lines.data(), lines_length); |
| 1656 | linesCopy[lines_length] = '\0'; |
| 1657 | |
| 1658 | GlobalUnlock(handle); |
| 1659 | |
| 1660 | if (SetClipboardData(CF_TEXT, handle)==NULL) |
| 1661 | goto freemem; |
| 1662 | |
| 1663 | if (SetClipboardData(CF_LOCALE, handle)==NULL) |
| 1664 | goto freemem; |
| 1665 | |
| 1666 | CloseClipboard(); |
| 1667 | |
| 1668 | return true; |
| 1669 | |
| 1670 | freemem: |
| 1671 | GlobalFree(handle); |
| 1672 | |
| 1673 | closeclip: |
| 1674 | CloseClipboard(); |
| 1675 | |
| 1676 | return false; |
| 1677 | } |
| 1678 | //--------------------------------------------------------------------------- |
| 1679 | void __fastcall FindFiles(TStrings * p, String dir, String mask) |
| 1680 | { |
no outgoing calls
no test coverage detected