logo       

Sponsor
FREE Network Mapping Tool for Microsoft® Office Visio® Professional 2007
Don't map your network by hand - let LANsurveyor Exx press for Microsoft Visio Professional 2007 automatically create network diagrams for you!

Problems in msvc6: msg#00008

apache.logging.log4cxx.user

Subject: Problems in msvc6

Hi,

I am trying to include log4cxx 0.9.7 into my projects and I am
running into several problems.

--------
1st problem occurs if I try to compile the log4cxx.dll in msdev6.0.

The following error occurs:
condition.cpp
C:\kay\log4cxx-0.9.7\src\condition.cpp(73) : error C2664:
'InterlockedCompareExchange' :
cannot convert parameter 1 from 'void ** ' to 'long *'
Types pointed to are unrelated; conversion requires
reinterpret_cast,
C-style cast or function-style cast

This is the line:
if ((long)InterlockedCompareExchange((void**) &waiters, 0, 0) != 0)

I changed this line to
if ((long)InterlockedCompareExchange(const_cast<long
*>(&waiters), 0, 0)
!= 0)

This compiles, but I am not sure if I am breaking anything

---------
2nd problem occurs only with the release version of the log4cxx.dll,
not with the debug version!

If I get a logger like this:
LoggerPtr
CAppBarAppDlg::logger(Logger::getLogger("ApplicationBar.BarDlg"));

I get an Access violation during start.
The guilty line is in hierarchy.cpp, line 293:
for(int i = name.find_last_of(_T('.'), length-1); i != String::npos;
The value for length is 4291972 in my case.

If I take the rootLogger I don't have this problem.

----------
3rd problem occurs if I take the rootLogger.
If my program finishes I get again an Access Violation.
This time in loggingevent.cpp, line 51

That is the following code fragment:
LoggingEvent::LoggingEvent(const String& fqnOfCategoryClass,
const LoggerPtr& logger, const LevelPtr& level,
const String& message, const char* file, int line)
: fqnOfCategoryClass(fqnOfCategoryClass), logger(logger), level(level),
message(message), file((char*)file), line(line),
timeStamp(System::currentTimeMillis()), ndcLookupRequired(true),
mdcCopyLookupRequired(true), properties(0)
{
threadId = Thread::getCurrentThreadId();
}

Guilty is the message parameter, having a length of 1631789170

----------

Am I the first experiencing those problems?

Environment Info:
Windows 2000 Professional
My Application is compiled using Visual Studio .NET 2002, which shouldn't
make a
difference since I am using the DLL version.

All input is appreciated,
Kay Eckernkamp

--
Geschenkt: 3 Monate GMX ProMail + 3 Top-Spielfilme auf DVD
++ Jetzt kostenlos testen http://www.gmx.net/de/go/mail ++




<Prev in Thread] Current Thread [Next in Thread>
Sponsor
FREE Network Mapping Tool for Microsoft® OfficeVisio Professional 2007
Don't map your network by hand - let LANsurveyor Express for Microsoft Visio Professional 2007
automatically create network diagrams for you!
Google Custom Search

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation

Home | sitemap | advertise | OSDir is an inevitable website. super tiny logo