Solved

my compiled exe file conflict with msvbvm60.dll

Posted on 2001-07-04
15
282 Views
Last Modified: 2012-06-21
Currently i compiled my project into an exe file. but when i execute the exe file, it prompted me an error. the error is mentioned that my exe file conflict with the msvbvm60.dll. so anything i can do to overcome this problem?
0
Comment
Question by:WeeKeong
  • 4
  • 3
  • 2
  • +5
15 Comments
 
LVL 50

Accepted Solution

by:
Ryan Chong earned 50 total points
ID: 6252135
Hi,

reinstall the vb 6 runtime file, then try again.
0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 6252174
i'm working with one project, it work with blob filed in access and oracle


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, StdCtrls, Mask, Db, DBTables, ExtCtrls, Grids, DBGrids,Jpeg;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Table1: TTable;
    DataSource1: TDataSource;
    Database1: TDatabase;
    Table1PIC: TBlobField;
    DBNavigator1: TDBNavigator;
    OpenDialog1: TOpenDialog;
    DBGrid1: TDBGrid;
    Table1ID: TStringField;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
  private
    { Private declarations }
    FileName : String;
    procedure ReadPicFromDB;
  public
    { Public declarations }

  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
uses shellapi;
procedure TForm1.ReadPicFromDB;
var
  FileStream : TFileStream;
  BlobStream : TBlobStream;
begin
  Image1.Picture.Assign(nil);
  BlobStream := TBlobStream.Create(Table1Pic, bmRead);
  if BlobStream.Size =0 then
  begin
    BlobStream.Free;
    Exit;
  end;
  if FileName <> '' then
    DeleteFile(FileName);
  FileName := 'Img.jpg';
  FileStream := TFileStream.Create(FileName, fmCreate or fmOpenWrite);
  FileStream.CopyFrom(BlobStream,BlobStream.Size);
  FileStream.Free;
  BlobStream.Free;
  Image1.Picture.LoadFromFile(FileName);
end;// end procedure radpicfromdb

procedure TForm1.Button1Click(Sender: TObject);
var
  FileStream : TFileStream;
  BlobStream : TBlobStream;
begin
  Application.ProcessMessages;
  if OpenDialog1.Execute then
  begin
    Button1.Enabled := false;
    FileStream := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
    Table1.Edit;
    BlobStream := TBlobStream.Create(Table1Pic,bmReadWrite);
    BlobStream.Seek(0,soFromBeginning);
    BlobStream.Truncate;
    BlobStream.CopyFrom(FileStream,FileStream.Size);
    FileStream.Free;
    BlobStream.Free;
    Table1.Post;
    ReadPicFromDB;
    Button1.Enabled := True;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if FileName <> '' then
    DeleteFile(FileName);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  OpenDialog1.Filter := 'Jpeg Files |*.jpg';
  OpenDialog1.Options := [ofHideReadOnly, ofNoChangeDir];
  Image1.Stretch := true;
end;

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  if DataSource1.State = dsBrowse then
    ReadPicFromDb;
end;

end.

0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 6252180
i'm so sorry, i wanted to put this code in delphi area but i was open ur question
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:WeeKeong
ID: 6252190
ryancys:
i reinstalled the runtime file already, but the problem still the same.
0
 
LVL 50

Expert Comment

by:Ryan Chong
ID: 6252196
Hi WeeKeong, what is the exact error prompted?
0
 
LVL 4

Expert Comment

by:WolfgangKoenig
ID: 6252214
Perhaps you have old VB4 or VB5 code?
Then you must use VB4/5 or try to convert the project to VB6 code.
"msvbvm60.dll" is the VB6 virtual machine.

Bye
WoK
0
 
LVL 1

Expert Comment

by:ahmadpj
ID: 6252246
Before compiling your project, goto your project properties(on project menu), then goto Compile page, and choose "Compile to P-Code" Option, and then compile your project, and test the .EXE file again..
0
 
LVL 4

Expert Comment

by:nutwiss
ID: 6252280
get the lastest VB Service pack (SP5). You can get conflicts by using old SP versions of MSVBVM60 with newer executables
0
 
LVL 8

Expert Comment

by:glass_cookie
ID: 6253272
Hi!

Here's just what I know about this conflicting thingy - although not that well.  I may be wrong, but it's just FYI:

I read somewhere out there over the net that there are 3 versions of the Msvbvm60.dll file, so, you may want to try something like downloading all 3 versions and try to run them.

I've got no idea why there is a need for 3 versions : |

That's it!

glass cookie : )

PS If your's is a 56K modem, you may not like downloading all those stuff.
0
 

Author Comment

by:WeeKeong
ID: 6254088
ahmadpj:
i tried ur idea already but still got this error message. below is the error message.  

DIALER caused an invalid page fault in
module MSVBVM60.DLL at 017f:66014440.
Registers:
EAX=00000000 CS=017f EIP=66014440 EFLGS=00010246
EBX=00000000 SS=0187 ESP=017af98c EBP=017af990
ECX=00000005 DS=0187 ESI=00402830 FS=36ef
EDX=8161bf94 ES=0187 EDI=017af9d8 GS=0000
Bytes at CS:EIP:
8b 70 0c 8d 45 08 50 56 e8 21 00 00 00 85 c0 74
Stack dump:
00402830 017af9ec 660260eb 00000000 660ff416 00000003 017af9d8 017afa3c 017af9b8 017af9e8 017afa3c 00000000 00000000 00000000 00000000 00000000
0
 
LVL 22

Expert Comment

by:rspahitz
ID: 6256418
This may not be specifically a conflict with MSVBVM60.  Instead, it may be something in your code that is referencing a function in the wrong way.

Is DIALER your app or an OCX add-in?

Are you using any API calls?
--
Add error-trapping to identify exactly which routine is generating the error, then we can further narrow the problem down by identifying the specific line causing the problem.

If that doesn't work, you'll have to add sequence logging to show exactly which lines are being processed before the problem occurs.

It's tedious, but it will just about guarantee a solution.
0
 

Author Comment

by:WeeKeong
ID: 6258188
rspahitz:
i downloaded an ActiveX Control called rascontrol.ocx that use for dialing up mu modem in VB. actually i would like to create a VBA to do that dial up function and put it in the Tasks Scheduler. Everything works well when i run in VB, but after i compiled it to an exe file, it caused this problem when i am executing it. Hope u can suggest a better way to do that. Thanx
0
 
LVL 22

Expert Comment

by:rspahitz
ID: 6260484
I've occassionally found that switching from VB to .exe causes a different set of conditions to occur.  The usually occur because you're running from a different folder, but sometimes it's command line settings or minor issues like that.

One option is to run the .exe from the VB folder (i.e. run from VB, check curdir in the immediate window, and copy the .exe to that place.)  If it runs okay, it's a path problem.

Either way, you really need to add error-trapping (possible initially at key points) so you can tell exactly what line is causing the problem.  Without that, we're just jabbing in the dark.
0
 

Author Comment

by:WeeKeong
ID: 6665331
thx for help
0
 
LVL 50

Expert Comment

by:Ryan Chong
ID: 6668346
Next time, just don't give me an 'c' if me really make help.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question