Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2013, 11:05   #1
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию Форма в DLL

Добрый день! Уже неделю читаю интернет и никак не могу решить одну маленькую проблемку. Есть DLL, в ней форма (Добавть>Создать элемент...>Форма Windows Forms). Не получается открыть созданную форму:

"InputBox_Form.h" (ничего не менял, всё стандартно)
Код:
#pragma once

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

namespace Dialogs {

	public ref class InputBox_Form : public System::Windows::Forms::Form
	{
	public:
		InputBox_Form(void)
		{
			InitializeComponent();
		}

	protected:
		~InputBox_Form()
		{
			if (components)
			{
				delete components;
			}
		}

	private:
		/// <summary>
		/// Требуется переменная конструктора.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		void InitializeComponent(void)
		{
			this->components = gcnew System::ComponentModel::Container();
			this->Size = System::Drawing::Size(300,300);
			this->Text = L"InputBox_Form";
			this->Padding = System::Windows::Forms::Padding(0);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
        }
#pragma endregion
	};
}
"Dialogs.cpp"
Код:
#include "stdafx.h"
#include "Dialogs.h"
#include "InputBox_Form.h"

DIALOGS_API void __stdcall InputboxA(char* Prompt, char* List, char* Result, char* Default)
{
  InputBox_Form  *F= new InputBox_Form();
  F->Show();
  delete F;
  strcpy(Result, Prompt);
}
Ошибка:
Код:
Ошибка	1	error C2065: InputBox_Form: необъявленный идентификатор			Dialogs.cpp	21	Dialogs
Ошибка	2	error C2065: F: необъявленный идентификатор				Dialogs.cpp	21	Dialogs
Ошибка	3	error C2061: синтаксическая ошибка: идентификатор "InputBox_Form"	Dialogs.cpp	21	Dialogs
Ошибка	4	error C2065: F: необъявленный идентификатор				Dialogs.cpp	22	Dialogs
Ошибка	5	error C2227: выражение слева от "->Show" должно указывать на тип класса, структуры или объединения либо на универсальный тип	Dialogs.cpp	22	Dialogs
Ошибка	6	error C2065: F: необъявленный идентификатор				Dialogs.cpp	23	Dialogs
Ошибка	7	error C2541: delete: нельзя удалять объекты, не являющиеся указателями	Dialogs.cpp	23	Dialogs
maksim_serg вне форума Ответить с цитированием
Старый 10.04.2013, 11:44   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

это ж разные типы проектов (аль ошибаюсь?), и как вы их скрещиваете?
eval вне форума Ответить с цитированием
Старый 10.04.2013, 11:45   #3
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

тое сть разные типы?
maksim_serg вне форума Ответить с цитированием
Старый 10.04.2013, 12:03   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

ну форма у вас написана как дотнет, а юзать вы ее хотите не в дотнет, вот я и говорю, что так просто не получится
eval вне форума Ответить с цитированием
Старый 10.04.2013, 12:09   #5
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

я мало понимаю в C++ и не знаю что такое дотнет. интерете люди точно также. и у них все получается. разница в лишь в строчке
Код:
InputBox_Form  *F= new InputBox_Form();
. кто как пишет:
InputBox_Form *F= new InputBox_Form();
InputBox_Form* F= new InputBox_Form();
InputBox_Form^ F= new InputBox_Form();
InputBox_Form *F= new InputBox_Form(0);
InputBox_Form *F= new InputBox_Form(void);
InputBox_Form *F= new InputBox_Form(application);
и у вех все работает
да и на делфи тоже самое даже у меня получается
maksim_serg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма из DLL RuVarez Общие вопросы Delphi 2 31.07.2012 14:36
Вспомогательная форма в DLL. Передача данных. Arkuz Общие вопросы Delphi 7 16.04.2011 13:05
Dll и основная форма (взаимосвязь) fbus Работа с сетью в Delphi 9 16.04.2011 03:27
неперемещаемая форма из dll oldDed Общие вопросы .NET 0 07.11.2010 13:25
из .exe TBitMap передать в DLL(форма) lexaltd Мультимедиа в Delphi 13 14.07.2009 17:47