Win32 Err 11

2 отговора 98 прегледа
#1

Win32 Err 11

ох, как да започна?
Аре да пробвам с постановката:

Работя на XP.
Имам проект писан на Visual C++ 6 с няколко dll-а на няколко нива. В сми- има основни dll-и, които не зависят от нищо, над тях има втори слой, който зависи от първия, има трети и най- отгоре е приложението.

При последния билд забелязах (ама може и от отдавна да е), че под ХР всичко е ОК, но под 95 и 98 приложението хич не тръгва.
Инсталирах 98 на една машина и пуснах remote debugging от мойта и ето ги съобщенията (при мене):
Title на съобщението "Microsoft Visual C++"
Текст на съобщението "Could not execute: Program has incorrect format(Win32 error 11)."
Затварям го и след него се появява второ (със същия title и стил MB_ICONEXCLAMATION - абе удивителна..., няма зн.):
"Cannot execute program"

На remote машината (Win98) излиза съобщение със title "Error Starting Program"
и текст "The \\pc1\bin\debug\a4w.dll file appears to be corrupt. Reinstall the file, and then try again."

a4w.dll e dll от последното ниво преди ехе-то.


Първото нещо което ми дойде на акъла беше, че нещо не сме направили билда както трябва и че някой модул е билдван със стари lib-ове и dll-и. Ама тва е абсурд. А и за да проверя ще ми трябват 2 дни.
Второто нещо беше за ресурсите. В MSDN - PRB: Cannot Load Module with Resource ID Greater Than 32767 (0x7FFF) Q137248
Така ама в тоя dll, че и във всички други и даже и в exe- тата няма такива конфликтни ресурси.
Третото нещо което направих беше да проверя дали изобщо се вика DllMain на dll-а. Е да ама до него изобщо не се стига. Явно windows-а нещо не се кефи ама ако мога да се сетя на кое???

И тъпото е че съм изчерпан от към идеи - седя и блея като ученичка във ФМИ.
Гледам като първолак.

Давайте идеи че отъпях. Аз почвам да правя пълен билд под 98, после и под ХР ще го направя ама това няма да ме докара до никъде сигурен съм.
F1, Умирам прав!!!

Отговор
в отговор на ®yMeH #2

Re: Win32 Err 11

Не знам доколко това може да е причината, но в Win9x по принцип липсват доста функции, които ги има в Win2000 и XP. Или дори и да ги има не правят нищо, а просто връщат код за грешка. Най-добре наистина да пробваш да билднеш под 9x. Ако ползваш такива функции ще си проличи. Друг проблем може да е Unicode - 9x не знае какво е това, ако си компилирал в Unicode просто нищо няма да работи.

Always Outnumbered - Never Outgunned
Отговор
в отговор на Lupi #3

Re: Win32 Err 11

Абе за уникода (поне при мен) излиза едно красиво съобщенийце от сорта "This program uses unicode features available only in Windows NT".
Тва неговото е някаква аномалия. Не мисля, че може да му се помогне така задочно. Но като начало наистина е добре да си билдне нещата под Win9x


Я вышел им наперерез!
Отговор