[Back to DELPHI SWAG index]  [Back to Main SWAG index]  [Original]


> "EWin32Error in Module VCL30.DPL at address 00010B8F. Problems Calling
> Win32 API"
>
> After this error the UI for Win95 gets all screwed up.

This is the routine of interest from SYSUTILS.PAS...

   procedure RaiseLastWin32Error;
   var
     LastError: DWORD;
     Error: EWin32Error;
   begin
     LastError := GetLastError;
     if LastError <> ERROR_SUCCESS then
       Error := EWin32Error.CreateFmt(SWin32Error, [LastError,
         SysErrorMessage(LastError)])
     else
       Error := EWin32Error.Create(SUnkWin32Error);
     Error.ErrorCode := LastError;
     raise Error;
   end;

If the message does not include an error code, GetLastError returned
ERROR_SUCCESS. From what I can tell, this can occur in these places...

   - Controls.TWinControl.CreateWnd; the call to Windows.RegisterClass fails

   - Controls.TWinControl.CreateWnd; the call to Windows.CreateWindow or
Windows.CreateWindowEx fails

   - Classes.THandleStream.SetSize; the call to SetEndOfFile fails with no
error code

   - ComObj.RegisterComServer; a procedure named DllRegisterServer does not
exist in the DLL

   - ComObj.CreateRemoteComObject; the call to GetModuleHandle('ole32.dll')
fails with no error code

>From the symptoms you've described, the first two seem to be the most
likely. I suspect that you are running out of some resource (not memory;
probably GDI or USER heap space). Does the problem persist if you remove a
few of the 40 controls? What other programs are running on the computer?
What video driver are you using? It wouldn't happen to be a Diamond product?

- Brian

[Back to DELPHI SWAG index]  [Back to Main SWAG index]  [Original]