import DLL error 126
import DLL error 126
Witam.
Napisalem biblioteke DLL, ktora korzysta z dobrodizejstwa winapi wszystko dziala, tylko zaczyna sie problem w momencie przenoszenia jej.
Uzywam Visual Studio.
1. Jezeli linkuje biblioteke statyczne, to przestaje dzialac nawat u mnie - nie mam pojecia czemu.
2. Jak linkuje ja dynamicznie, i dolaczam pli MSCXXX dostaje komunikat:
cannot load libary error 126.
Probowalem kompilowac to w devie, wtedy, nie moge zarejestorwac pamieci (wspol)dzielonej
Moglby ktos pomoc
Napisalem biblioteke DLL, ktora korzysta z dobrodizejstwa winapi wszystko dziala, tylko zaczyna sie problem w momencie przenoszenia jej.
Uzywam Visual Studio.
1. Jezeli linkuje biblioteke statyczne, to przestaje dzialac nawat u mnie - nie mam pojecia czemu.
2. Jak linkuje ja dynamicznie, i dolaczam pli MSCXXX dostaje komunikat:
cannot load libary error 126.
Probowalem kompilowac to w devie, wtedy, nie moge zarejestorwac pamieci (wspol)dzielonej
Moglby ktos pomoc
no jak linkujesz statycznie i "przestaje dzialac" to chyba czyli zle napisales ? hah.
jestes pewien ze dobrze napisales?
moze kod zamiescisz.
tutaj jest przyklad dzialajacego dll:
http://cf16rocket.posterous.com/mt4-dll ... -a-w-66508
jestes pewien ze dobrze napisales?
moze kod zamiescisz.
tutaj jest przyklad dzialajacego dll:
http://cf16rocket.posterous.com/mt4-dll ... -a-w-66508
Kompilator to visula studio.
Jak pisalem - przy dynamicznym linkowaniu u mnie na komputerze dziala, natomiast na innych juz nie chce (nawet po dolaczeniu bilbiotek microsoftowych - wywala order 126 wtedy). Jak linkuje statycznie, to tez nie dziala.
Moze teraz po uzupelnieniu informacji ktos pomoze?
main.cpp:
main.h:
def:
Jak pisalem - przy dynamicznym linkowaniu u mnie na komputerze dziala, natomiast na innych juz nie chce (nawet po dolaczeniu bilbiotek microsoftowych - wywala order 126 wtedy). Jak linkuje statycznie, to tez nie dziala.
Moze teraz po uzupelnieniu informacji ktos pomoze?
main.cpp:
Kod: Zaznacz cały
#include <iostream>
#include <windows.h>
#include <string>
#include <TCHAR.H>
#include <sstream>
// Maksymalna ilosc danych - wielkosc struktury
#define DataSIZE 50
#define StringLen 10
struct trades
{
int Size;
char symbol[DataSIZE][StringLen];
};
struct MqlStr
{
int len;
char *string;
};
using namespace std;
HANDLE ghMutex;
HANDLE hFileMapping;
trades* pSharedData;
void CpyChar(int len, char *source,char * dest )
{
int i;
for(i=0; i<len; i++)
{
dest[i]=source[i];
}
dest[i]='\0';
//dest[i+1]='\0';
}
void CpyChar(int len, string source ,char * dest )
{
int i;
for(i=0; i<len; i++)
{
dest[i]=source[i];
}
dest[i]='\0';
//dest[i+1]='\0';
}
int ReadData2(int *Size, MqlStr* symbol)
{
LPCWSTR MemoryName=_TEXT("_dfgdfg_");
LPCWSTR MutexName=_TEXT("_dfgdfg_");
hFileMapping = CreateFileMapping (INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE | SEC_COMMIT, 0, sizeof(trades), MemoryName);
if (hFileMapping == NULL){
MessageBox(NULL, _TEXT(" CreateFileMapping ERROR "),NULL,0);
//return -1;
}
pSharedData = (trades*) MapViewOfFile(hFileMapping, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 0);
ghMutex = CreateMutex(NULL,FALSE,MutexName);
WaitForSingleObject( ghMutex,INFINITE);
Size[0]=pSharedData->Size;
string tmp,tmp2;
for(int i=0; i<Size[0]; i++)
{
tmp=" ";
tmp = pSharedData->symbol[i];
//tmp +=i;
//tmp+=")";
//CpyChar(tmp.length(),pSharedData->symbol[i],symbol[i].string);
CpyChar(tmp.length(),tmp,symbol[i].string);
}
ReleaseMutex(ghMutex);
UnmapViewOfFile(pSharedData);
CloseHandle(hFileMapping);
CloseHandle(ghMutex);
return Size[0];
}
Kod: Zaznacz cały
extern "C"
{
static __declspec(dllimport) int ReadData2(int *Size,MqlStr* symbol);
}
Kod: Zaznacz cały
LIBRARY "ShM_DLL2"
EXPORTS
ReadData2 @1
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
zobacz czy pomoze
http://www.microsoft.com/download/en/co ... aspx?id=19
pozdrawiam
Andrzej Pierz
Dodano po 2 minutach:
moze jakis framework ?? no i zamiast Debug ustaw Release ??
Dodano po 9 godzinach 49 minutach:
u mnie zadzialalo
test.cpp
test.def
http://www.microsoft.com/download/en/co ... aspx?id=19
pozdrawiam
Andrzej Pierz
Dodano po 2 minutach:
moze jakis framework ?? no i zamiast Debug ustaw Release ??
Dodano po 9 godzinach 49 minutach:
u mnie zadzialalo
test.cpp
Kod: Zaznacz cały
// test.cpp : Defines the exported functions for the DLL application.
//
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <string>
#include <TCHAR.H>
#include <sstream>
// Maksymalna ilosc danych - wielkosc struktury
#define DataSIZE 50
#define StringLen 10
struct trades
{
int Size;
char symbol[DataSIZE][StringLen];
};
struct MqlStr
{
int len;
char *string;
};
using namespace std;
HANDLE ghMutex;
HANDLE hFileMapping;
trades* pSharedData;
void CpyChar(int len, char *source,char * dest )
{
int i;
for(i=0; i<len; i++)
{
dest[i]=source[i];
}
dest[i]='\0';
//dest[i+1]='\0';
}
void CpyChar(int len, string source ,char * dest )
{
int i;
for(i=0; i<len; i++)
{
dest[i]=source[i];
}
dest[i]='\0';
//dest[i+1]='\0';
}
int ReadData2(int *Size, MqlStr* symbol)
{
return(1234567890);
}
Kod: Zaznacz cały
LIBRARY "test"
EXPORTS
ReadData2
z poważaniem
Andrzej Pierz
FOREX-SERVICE
Andrzej Pierz
FOREX-SERVICE
Dzieki Andrzej, dzisaj przetestuje i dam znac.
Znalazlem jeszcze cos takiego na MSDN:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Wynika z tego ze wszytko jest jak powinno.
Dzisaj pobawie sie tym i dam znac jak wyszlo.
Pozdrawiam
Dodano po 7 godzinach 52 minutach:
reinstal framework'a pomogl zeby dll'ka z deva dzialala (dobrei to
)
ale z vb nadal nie idzie - tym razem wyrzuca (oczywisce tylko przy linkowaniu statycznym) error 127 wg. google to ejst brak def file.
Mi pomyslow brak, ma ktos jakis ?
Pozdrawiam
Znalazlem jeszcze cos takiego na MSDN:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Wynika z tego ze wszytko jest jak powinno.
Dzisaj pobawie sie tym i dam znac jak wyszlo.
Pozdrawiam
Dodano po 7 godzinach 52 minutach:
reinstal framework'a pomogl zeby dll'ka z deva dzialala (dobrei to

ale z vb nadal nie idzie - tym razem wyrzuca (oczywisce tylko przy linkowaniu statycznym) error 127 wg. google to ejst brak def file.
Mi pomyslow brak, ma ktos jakis ?
Pozdrawiam
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17