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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2012, 19:48   #11
NatNiM
Пользователь
 
Регистрация: 01.05.2009
Сообщений: 19
По умолчанию

Functions.cpp
Код:
#include "Functions.h"
#include "stdafx.h"
#include <stdexcept>


    double MyMathFuncs::Add(double a, double b)
    {
        return a + b;
    }
Functions.h
Код:
#include "stdafx.h"

    class MyMathFuncs
    {
    public:
        // Returns a + b
        static __declspec(dllexport) double Add(double a, double b);
    };
Учитывая, что это все в отдельном проекте работает, а при добавлении в некоторую dll - нет, ошибка: не определен MyMathFuncs
NatNiM вне форума Ответить с цитированием
Старый 28.07.2012, 20:13   #12
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
#include "stdafx.h"
Обязательно должен быть первым в списки подключаемых, все "что до" игнорируются.
p51x вне форума Ответить с цитированием
Старый 28.07.2012, 23:38   #13
plgrm44
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
#include "stdafx.h"
Обязательно должен быть первым в списки подключаемых, все "что до" игнорируются.
а пацаны то не знают)
plgrm44 вне форума Ответить с цитированием
Старый 29.07.2012, 00:09   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от plgrm44 Посмотреть сообщение
а пацаны то не знают)
и к чему этот бессмысленный пост?
вы может знаете, а вот ТС нет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.07.2012, 03:57   #15
plgrm44
Пользователь
 
Регистрация: 29.05.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
и к чему этот бессмысленный пост?
вы может знаете, а вот ТС нет.
простите, не сдержался в ответ, если почитаете чуть выше...
plgrm44 вне форума Ответить с цитированием
Старый 29.07.2012, 17:02   #16
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
если почитаете чуть выше...
У вас и с юмором проблемы... ((
p51x вне форума Ответить с цитированием
Старый 30.07.2012, 20:07   #17
NatNiM
Пользователь
 
Регистрация: 01.05.2009
Сообщений: 19
По умолчанию

Спасибо за помощь! Заработало.
Теперь пытаюсь подключить dll для проверки некоторой функции.
Вот cpp-файл:

Код:
#include "stdafx.h"
#include <Windows.h>
#include <stdio.h>
#include <iostream>
#include <stdio.h>

using namespace std;

extern "C++" __declspec(dllexport) void Window()
 {

  HINSTANCE instanceHandle;
  HWND MainWindowHandle = 0;
  MainWindowHandle = CreateWindow(
						    LPCWSTR(sum("lib.dll").c_str()),
                            LPCWSTR(sum("lib.dll").c_str()),
                            WS_OVERLAPPEDWINDOW,
                            CW_USEDEFAULT, 
                            CW_USEDEFAULT,
                            CW_USEDEFAULT,
                            CW_USEDEFAULT,
                            0,
                            0, 
                            instanceHandle,
                            0);
 }
Вот попытка загрузки dll:

Код:
HMODULE hModule = LoadLibrary(TEXT("dtcd_01m_k1_3x.dll"));
typedef int ( *Wind)(); 
Wind lpClientInit = (Wind)GetProcAddress(hModule,"Window");
//lpClientInit();                            //вот на этой строчке вылетает ошибка
if (lpClientInit == NULL)
{
   int errorCode = GetLastError();
}
Вылетает ошибка на указанной строчке.
Помогите, пожалуйста, исправить!
NatNiM вне форума Ответить с цитированием
Старый 30.07.2012, 20:30   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)проверять результат функций кто будет?
2) http://programmersforum.ru/showthread.php?t=205930
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.07.2012, 22:12   #19
NatNiM
Пользователь
 
Регистрация: 01.05.2009
Сообщений: 19
По умолчанию

в файле def присутствует эта функция (Window).
Уточню, может, в этом дело. Имеется одна большая dll.
Написана небольшая dll с тремя функциями, я их добавил в большую dll, в файл def добавил пока только одну функцию (Window) для проверки.
Может ли быть ошибка из-за того, что в этих dll разные входные функции, я оставил ту, которая была в большой dll, не изменяя ее.
И в чем еще может быть проблема?
Спасибо.
NatNiM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Привязка WinForm к разрешению экрана Linore C# (си шарп) 6 15.09.2011 16:40
Запуск winform из приложения winapi kamilton Win Api 7 12.06.2011 16:05
подключение БД к winform c++ Nitrino Visual C++ 0 16.04.2011 02:10
Динамическая компиляция проекта с Winform shaman4k Общие вопросы .NET 1 23.11.2010 18:18
C# события ,WinForm bondik Общие вопросы .NET 4 08.02.2010 20:24