крик души - страница 4

 
evgenio >>:

Не обязательно язвить.

Русский вполне знаю, С++ на начальном уровне, но все когда-то учились .

Ну так пиши нормально, и тебе помогут. Тебе же указали пару раз - распиши как и что ты там ворочаешь, тогда станет понятно, что не так. Раз взялся за DLL, должен быть готов разгребать кучу маразмов от Микрософт, которые они напихали в ЧУЖОЙ компилер и линкер.

Для начала проверь ключи компилятора и ключи линкера, которые у тебя работают. Разбери каждый из них. Часть из них отвечает за порядок параметров в вызове функции и так называемое "декорирование" имён, которыми будут связываться проги в работе.

Выясни почему у тебя в импорте DLL стоит MSVCR90D.dll. есть ли она вообще и где она?

Ну и так далее....

 
evgenio >>:

Не обязательно язвить.

Русский вполне знаю, С++ на начальном уровне, но все когда-то учились .

Поймите правильно, здесь не ЛикБез. И если вам ответили, отбрасывая форму, впитывайте информацию ответа. Анализируйте, пробуйте, экспериментируйте, самостоятельно ищите ответы. Только так можно чему-то научиться. А при каждой неудаче устраивать "крик души" - не дело.

PS. AlexEro уже ответил.

 
OneDepo >>:

Ха! "Мы с тобой одной крови"!

Последний раз использовал Watcom году в 95-м. Под досом ехтендером решал систему дифф уравнений в частных производных. в НИИ работал. Да... Ностальгия...

А насчет стрелялок, черт его знает.. Не даром японы приходят домой и отвешивают маваша гири чучелу своего начальника. Стресс снимают. Так и стрелялка. Походил, завалил всех, вроде и агрессия ушла.

Кстати, Watcom жив, open-source, бесплатен для некоммерчеких проектов и хорошо себя чувствует.

 
AlexEro >>:

Кстати, Watcom жив, open-source, бесплатен для некоммерчеких проектов и хорошо себя чувствует.

Хм, новость для меня. Думал, сгинули ребята. Спасибо, посмотрю. Сейчас использую Intel компилятор, дает наибыстрейший ехе-шник. Читал, что к ним (Intel'у) пришли ребята из TopSpeed, вот это были самые шустрые компиляторы в 90-х.

 
AlexEro >>:

Ну "не надо", так не надо.

(продолжаю как-бы играть в DOOM II)

Главное, чтобы DOOM II окончательно не победил твою ДНК.:)

 
OneDepo >>:

Хм, новость для меня. Думал, сгинули ребята. Спасибо, посмотрю. Сейчас использую Intel компилятор, дает наибыстрейший ехе-шник. Читал, что к ним (Intel'у) пришли ребята из TopSpeed, вот это были самые шустрые компиляторы в 90-х.

Шо значит "сгинули"? Есть люди (ну не люди, а так, людишки), которые на Open Watcom пишут ОСи! (операционные системы).

www.openwatcom.org

board.sysbin.com = ОСи разные всякие.

Для нормального программиста из Open Watcom полезны утилиты

pmake + wmake + builder = эта комбинация позволяет очень легко управлять под-проектами больших проектов. (Open Watcom - это сам по себе БОЛЬШОЙ проект). Builder - намного лучше Микрософтовского Build.exe (не думали же Вы что мелкомягкие свои проекты билдят по ...? по F5 .... кажется, забыл ужЕ);

wdis = дизассемблер объектных файлов.

 
evgenio >>:

...

Не каждый ответ предназначен для спрашивающего.

В данном случае заметно, что автор в студии первый день.

.

Попытаюсь-ка я объяснить - тем более, что Dll-ку собирал совсем недавно.

.

Evgenio, для справки: для начала компильте самый-самый простой проект.

Не надо делать сразу все. Вы просто мешаете все проблемы в кучу.
Возьмите вот эти cpp и def:

-------------------------------------------------

// dllProject.cpp
#include "stdafx.h"
#include <Windows.h>
BOOL APIENTRY DllMain( HMODULE,//hModule,
  DWORD,//ul_reason_for_call,
  LPVOID //lpReserved
  )
{
  return TRUE;
}
__declspec(dllexport) 
int 
__stdcall 
getLocalTime(
  long * time
  )
{
  *time = 0;
  return 0;
}

-------------------------------------------------

// Def-файл, dllProject.def
// прописать в Project - Configuration properties - Linker - Input
// или конкретным путем, или $(SolutionDir)dllProject.def
LIBRARY "dllProject"
EXPORTS
 getLocalTime

-------------------------------------------------

// А здесь код для подключения в mql4

// DLLку надо положить в C:\Program Files\MetaTrader - Alpari\experts\libraries

// или- прописывайте полный-полный путь

#import "dllProject.dll"
int 
getLocalTime(
  datetime & time[]
  );
#import

-------------------------------------------------

// И код вызова из Mql

int time[1];

time[0] = -1;

getLocalTime(time);

Print("Output: " + time[0]);

-------------------------------------------------

Напишите, что получилось

 
jartmailru >>:

Не каждый ответ предназначен для спрашивающего.

В данном случае заметно, что автор в студии первый день.

.

Попытаюсь-ка я объяснить - тем более, что Dll-ку собирал совсем недавно.

.

Evgenio, для справки: для начала компильте самый-самый простой проект.

Не надо делать сразу все. Вы просто мешаете все проблемы в кучу.
Возьмите вот эти cpp и def:

-------------------------------------------------

// dllProject.cpp
#include "stdafx.h"
#include <Windows.h>
BOOL APIENTRY DllMain( HMODULE,//hModule,
  DWORD,//ul_reason_for_call,
  LPVOID //lpReserved
  )
{
  return TRUE;
}
__declspec(dllexport) 
int 
__stdcall 
getLocalTime(
  long * time
  )
{
  *time = 0;
  return 0;
}

-------------------------------------------------

// Def-файл, dllProject.def
// прописать в Project - Configuration properties - Linker - Input
// или конкретным путем, или $(SolutionDir)dllProject.def
LIBRARY "dllProject"
EXPORTS
 getLocalTime

-------------------------------------------------

// А здесь код для подключения в mql4

// DLLку надо положить в C:\Program Files\MetaTrader - Alpari\experts\libraries

// или- прописывайте полный-полный путь

#import "dllProject.dll"
int 
getLocalTime(
  datetime & time[]
  );
#import

-------------------------------------------------

// И код вызова из Mql

int time[1];

time[0] = -1;

getLocalTime(time);

Print("Output: " + time[0]);

-------------------------------------------------

Напишите, что получилось

вот это я и хотел увидеть, спасибо.

буду пробовать.

 

все заработало, спасибо

вот все что мне надо было подсказать

// прописать в Project - Configuration properties - Linker - Input

ну не знал я этого ))

jartmailru +10

тема закрыта

Причина обращения: