?
Solved

my compiled exe file conflict with msvbvm60.dll

Posted on 2001-07-04
15
Medium Priority
?
287 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
  • +5
15 Comments
 
LVL 53

Accepted Solution

by:
Ryan Chong earned 100 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

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

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 53

Expert Comment

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

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses
Course of the Month8 days, 14 hours left to enroll

764 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