Показать сообщение отдельно
Старый 01.11.2004, 08:04     # 1
EjikVTumane
Member
 
Аватар для EjikVTumane
 
Регистрация: 18.04.2002
Адрес: Ф туманах Новосибирска...
Сообщения: 378

EjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собойEjikVTumane Имеются все основания чтобы гордиться собой
Вызов функции из DLL

Есть DLL, гордо содержащая одну функцию:

Код:
int Func(char name[257])
{
	MessageBox(NULL, name, "Dll", MB_OK);
	return -1;
}
Если я ее вызываю так:

Код:
	HMODULE DLL;
	DLL = LoadLibrary("func.dll");
	void (*Func)(LPSTR);
	(FARPROC &)Func = GetProcAddress(DLL, "Func");
	Func("<text>");
	FreeLibrary(DLL);
	return 0;
все прекрасно - появляется Message Box.

Но если я пытаюсь вызвать функцию при помощи RunDll32.exe:

rundll32 func.dll,Func "qwe"

появляется ошибка. При этом в функцию не передается строка, а если я буду передавать int то функция будет прекрасно работать.
Так вот, почему не получается так передать строку (хотя в некоторые виндовские функции при вызове из DLL можно передавать строки)?
EjikVTumane вне форума