The Linux Page

dll

Dynamic Link Library--the extension and name used for dynamically loaded libraries under MS-Windows.

Getting username or computername with MS-Access

Introduction

These are common questions for MS-Access users:

  • How can I get the name of the currently logged on user?
  • How can I get the name of the computer the user is working on?

Both names are available in the Kernel and we can make use of a function declaration to access those names.

MS-Access Functions

To determine the name of the current user:

Private Declare Function GetUserName Lib "advapi32.dll" _
    Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Public Function GetLogonName() As String
    Dim lpBuf As ...

MFC80U.dll, MSCRT80.dll, etc. missing

As I was working in Visual Studio today I had a problem with AQtime which I just installed. More or less, AQtime attempts to read the file that you're just writing and at the time you try to save the manifest in the output, it fails because AQtime has the .exe open in Read Only mode.

To fix the problem I simple said don't generate the manifest, which seemed the be the right solution. That made the compilation work great, but then AQtime would not be able to start the executable. Seemingly nothing would happen (i.e. type F5, made sure the parameters were fine, click Run, AQtime and the ...

Qt and DLL mismatch / error

My Story

I'm using Qt under Linux and MS-Windows.

When I started with MS-Windows, I could not run the Release version. I thought the problem was because I was using a pre-compiled version of Qt 4.6.x and let it go for a while.

At some point, I finally upgraded to Qt 4.7.x thinking that would clear off that Release problem.

This time around, I actually compiled the library, see instructions here:

  Compile Qt 4.7.x with Visual Studio 10 (VC++ 2010)

The result was that a few bugs I noticed while running with 4.6.x were gone. Nice. However, I still couldn't run with the release version. Why would that be?

I

Compile Qt 4.7.x with Visual Studio 10 (VC++ 2010)

Try to recompile Qt with Pavel's instructrions...

I did not encounter much problems, although the examples failed. It looks like jom would be the problem as some people reported not having problems following the same steps, but using nmake instead of jom.

The instructions go like this: [Update: the links below all stopped working.]

  1. Visual C++ 2010 contains all necessary SDKs for Qt compilation. However if you plan to use Qt with Phonon you need to install additional software from Qt for Windows Requirements list.
     
  2. Download and extract Qt 4.7.4 Sources. (Or Qt ...

Assembly Language on MS-Windows and PE / COFF Browser

As I was looking for a COFF Browser today (a tool that would show me the internals of a DLL or EXE file) I stumbled upon a page talking about Assembly Language and the GoAsm tools.

The page is here: [page was removed]

Interestingly enough, he has a link to an advanced assembler called GoAsm. This is specifically for MS-Windows and they do not release the source code of the assembler (at least, not that I can see...) But it is still interesting to see such tool suite around. 8-)

Why aren't my C++ class public functions exported with __dllexport?

I had a problem for the last 2 days and had a hard time to determine what it was...

Now I know how to resolve such a problem, so I wanted to share my finding! It's very simple, but writing about it here may help me later to save time...

So... I wrote a C++ class for a DLL, this means I want it's public functions to be exported:

class MY_CLASS_API myClass {
public:
    ... // declarations and functions
};

Up to here, nothing strange.

The MY_CLASS_API is a macro defined in some random header file:

#if defined(MSWINDOWS)
#  if MY_CLASS_EXPORTS
#    define MY_CLASS_API

unresolved external symbol "public: virtual struct QMetaObject const *__thiscall MyClass::metaObject[...]"

Got a problem with Qt today... and it took me a little time to figure out again and I'm sure some people have something about it, but I couldn't find the right answer anywhere.

Qt has those objects named QObject. You can derive them that class and to complete the object, you want to add a Q_OBJECT inside the class. Something like this:

  class MyClass : public QObject
  {
    Q_OBJECT
    [...your object definitions...]
  };

That Q_OBJECT is what makes your object visible in the Qt environment (i.e. a Find by name will find your object if you give it a name with setObjectName().

Tools to check out your MS-Windows system

To look at your processes, threads, modules, network, etc. at a quite low level, you can use the SysInternals Tools. System Internals was bought by Microsoft. So the new site is at Microsoft.com. The old URL still functions though (http://www.sysinternals.com).

Note that since that purchase Microsoft has worked to ameliorate their libraries to give these tools legitimate access to the data they query!

In most cases, these tools work against running processes and not against the source (not the .exe, .dll, etc. files, but their loaded/in memory versions.)

Register a DLL, OCX and COM objects

If you're like me, you need to register an OCX, DLL, COM object once in a while. Not so often that you will remember what the command is. So...

In order to register a DLL, an OCX and any other COM object, use the MS-Windows tool regsvr32.exe (which usually is in C:\Windows\system32 or some similar folder).

There is also a way to edit the registry, but frankly, just use the tool!

Question: Is there a regsvr64.exe under Win64? 8-)

Using libbfd.a to load your own ".dll" files

Noticing that this is a rather old link, there is my own implementation of the EDLL in case you had not found it yet! 

This Enhanced DLLs page is the first I wrote before starting on the project for real.

This works great with MinGW and does not require to have all symbols defined in a tree like definition. (i.e. these DLLs can link back to the main executable, just like under Linux and many other Unices.)

Syndicate content Syndicate content

SMS From Me Logo

SMS From Me

To automatically start one on one conversations with your online leads.

     

   

Terms of Site Index

Find the page/content you are looking for with our index.