sim |
Отправлено: 19.03.2004, 00:52 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 39
|
Есть такая программа:
int WFile(AnsiString aMes)
{iIfFileHandle=FileWrite(iFileHandle, aMes.c_str(), aMes.Length());
if(iIfFileHandle!=aMes.Length())
{Application->MessageBox("Не удалось записать в файл.","Ошибка",MB_ICONSTOP);
return 1;
}
return 0;
}
Пытаюсь ее вызвать:
AnsiString aMes=" Ку-ку!";
iErr=WFile(aMes);
if(iErr==1)
{FileClose(iFileHandle);
return;
}
Выскакивает ошибка:
[C++ Error] Unit1.cpp(38): E2268 Call to undefined function 'WFile'.
[C++ Warning] Unit1.cpp(38): W8074 Structure passed by value. |
|
exp |
Отправлено: 19.03.2004, 01:12 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
У меня твой код пахает.
CODE |
int iFileHandle=0;
int WFile(AnsiString aMes)
{
int iIfFileHandle=FileWrite(iFileHandle, aMes.c_str(), aMes.Length());
if(iIfFileHandle!=aMes.Length())
{
Application->MessageBox("?? ??????? ???????? ? ????.","??????",MB_ICONSTOP);
return 1;
}
return 0;
}
//------------------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString aMes=" ??-??!";
int iErr=WFile(aMes);
if(iErr==1)
{FileClose(iFileHandle);
return;
}
}
|
|
|
sim |
Отправлено: 22.03.2004, 21:35 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 39
|
Вот ...... а уменя нет. А ведь что-то элементарно. |
|
Roman |
Отправлено: 23.03.2004, 10:01 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 78
|
Ошибка
[C++ Error] Unit1.cpp(38): E2268 Call to undefined function 'WFile'.
выскакивает если не прописал свою функцию в заголовочном файле.
Попробуй добавить в заголовочный файл:
int WFile(AnsiString); |
|
sim |
Отправлено: 26.03.2004, 09:46 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 39
|
Причина была в следующем:
_Fast call TForm.........
{
}
int iFileHandle; // ***************
int WFile(AnsiString aMes)
{iIfFileHandle=FileWrite(iFileHandle, aMes.c_str(), aMes.Length());
if(iIfFileHandle!=aMes.Length())
{Application->MessageBox("Не удалось записать в файл.","Ошибка",MB_ICONSTOP);
return 1;
}
return 0;
}
_fast call Button1.....
{
int iFileHandle;
AnsiString aMes=" Ку-ку!";
iErr=WFile(aMes);
if(iErr==1)
{FileClose(iFileHandle);
return;
}
Достаточно было добавить строку со звездочками и все заработало.Хотя для чего надо было объявлять переменную, вопрос?Онаже объявлена перед вызовом. |
|