Тема: WinApi - Drag&Drop проблема
Маю таку проблему будь ласка допомжіть якщо не важко!
Маю такий код: 
Unit1.h
private:    // User declarations
    void __fastcall WmDropFiles(TWMDropFiles& Message);
public:     // User declarations
    __fastcall TForm4(TComponent* Owner);
    BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, WmDropFiles)
    END_MESSAGE_MAP(TForm); Unit1.cpp
void __fastcall TForm4::FormCreate(TObject *Sender)
{
DragAcceptFiles(Form4->Handle,True);
}
void __fastcall TForm4::WmDropFiles(TWMDropFiles& Message)
{
wchar_t *chFileName;
int Count;
Count = DragQueryFile(HDROP (Message.Drop), 0xFFFFFFFF,chFileName,MAXPATH); // число перетащенных файлов
for (int i=0;i<Count;i++)//цикл по файлам
  {
   DragQueryFile(HDROP (Message.Drop),i,chFileName,MAXPATH); // запрос имени файла
   RichEdit1->Lines->Add(chFileName);
  }
DragFinish(HDROP (Message.Drop)); // завершение перетаскивания
 
  }Добре , це функція яка дає змогу вилучати шлях файлів з середовища віндовс при перетягуванні на форму. Все працює, шлях я вилучаю але коли я хочу його записати в  RichEdit1 виникає така помилка, на рисунку 13.jpg
----------------------------------------------------------------------------------------------------------------
------------------------------------------------Вирішення помилки далі-----------------------------------------
  void __fastcall TForm4::WmDropFiles(TWMDropFiles& Message)
{
char *chFileName = "";
//AnsiString chFileName;
int Count;
Count = DragQueryFileA(HDROP (Message.Drop), 0xFFFFFFFF, chFileName, MAX_PATH);
//Count = DragQueryFile(HDROP (Message.Drop), 0xFFFFFFFF,chFileName.c_str(),MAXPATH);
for (int i=0;i<Count;i++)
  {
   if ( DragQueryFileA(HDROP (Message.Drop), i, chFileName, MAX_PATH) != 0 )
   {
        MessageBox( Form4->Handle, "Its allright", "good", MB_OK);
   } else
   {
        MessageBox( Form4->Handle, "Dont good, error", "error", MB_OK);
        chFileName = "Error";
   }
    for (int j=0; j < strlen( chFileName ); j++){
    //Тут треба передати шлях у глобальну змінну.
    Global = chFileName; 
   }
  }
DragFinish(HDROP (Message.Drop));
 
  }Також треба зробити заміну "_TChar maps to: wchar_t на Char".Це заходиться у розділі "Опціі проекта".
Програмуваню необхідні знання! Друзі! Ми всі забули про виділення пам'яті!
Ось так повинно бути:
  void __fastcall TForm4::WmDropFiles(TWMDropFiles& Message)
{
char *chFileName = "";
int Count;
Count = DragQueryFileA(HDROP (Message.Drop), 0xFFFFFFFF, chFileName, MAX_PATH);
for (int i=0;i<Count;i++)
  {
   DWORD size = DragQueryFile((HDROP)Message.Drop, i, 0, 0);
   chFileName = new char[size + 1];
   if ( DragQueryFileA(HDROP (Message.Drop), i, chFileName, MAX_PATH) != 0 )
   {
        MessageBox( Form4->Handle, "Its allright", "good", MB_OK);
   } else
   {
        MessageBox( Form4->Handle, "Dont good, error", "error", MB_OK);
        chFileName = "Error";
   }
    for (int j=0; j < strlen( chFileName ); j++){
        RichEdit1->Lines->Strings[i] = RichEdit1->Lines->Strings[i] + chFileName[j];
        //abc = chFileName;
        //IcoGen(abc);
   }
  }
DragFinish(HDROP (Message.Drop));
  }За пам'ятю необхідно слідкувати!)

