Search code examples
c++builder

C++ Builder, copy to clipboard


Trying to copy to Clipboard as I found in Delphi Example, but got error

[bcc32c Error] Unit1.cpp(40): use of undeclared identifier 'Clipboard'

I connected library Vcl.Clipbrd

#include <vcl.h>
#pragma hdrstop
#pragma Vcl.Clipbrd
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

.....................

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Clipboard()->AsText=DBLookupListBox12->DataField;
}

Solution

  • You are getting the error because you did not #include the header file that declares the Clipboard() function.

    You need to remove #pragma Vcl.Clipbrd, and instead use #include <Vcl.Clipbrd.hpp> (since XE8) or #include <Clipbrd.hpp> (earlier versions). Note that a separate documentation page says you need to use <vcl\Clipbrd.hpp> instead. That statement is not up-to-date.

    Try this:

    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    #include <Vcl.Clipbrd.hpp>
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    
    .....................
    
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
      Clipboard()->AsText=DBLookupListBox12->DataField;
    }