Recent

Author Topic: Win64 + Bass.dll = Kill Open/Save Dialogs  (Read 10872 times)

wOvAN

  • New Member
  • *
  • Posts: 47
    • wxSoft.Ru
Win64 + Bass.dll = Kill Open/Save Dialogs
« on: April 11, 2010, 12:30:21 am »
An Interesting thing happens, if you try to load 64bit version of bass.dll in win64 applicaton and then try to execute any Open / Save dialog, it simply crashes telling of access violation.

Keep in mind:
- all u have to do to kill dialog is simply load bass.dll whether static or dynamic
- it kills even dialogs called thru API not classes only.
- dialogs work in apps in other languages also using  64bit bass.dll

I'm confused about how can loading of bass.dll affect dialog api, and  how to fix it, and why only on win64, while on win32 works ok.




 

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2645
Re: Win64 + Bass.dll = Kill Open/Save Dialogs
« Reply #1 on: April 11, 2010, 11:02:47 am »
ehm......
what is bass.dll ?
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

JD

  • Hero Member
  • *****
  • Posts: 1905
Re: Win64 + Bass.dll = Kill Open/Save Dialogs
« Reply #2 on: April 11, 2010, 09:45:59 pm »
ehm......
what is bass.dll ?

BASS is an audio library for use in Windows and Mac OSX software. Its purpose is to provide developers with powerful and efficient sample, stream (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated, and more via add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3/OGG compressed MODs), and recording functions. All in a tiny DLL, under 100KB* in size.

On Windows, BASS requires DirectX 3 or above for output, and takes advantage of DirectSound and DirectSound3D hardware accelerated drivers, when available. On OSX, BASS uses CoreAudio for output, and OSX 10.3 or above is recommended. Both PowerPC and Intel Macs are supported.

C/C++, Delphi, Visual Basic, and MASM APIs are provided, with several examples to get you started. .Net and other APIs are also available.

BASS is also available for the Win64, WinCE, Linux, and iPhone platforms.
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

Wodzu

  • Full Member
  • ***
  • Posts: 171
Re: Win64 + Bass.dll = Kill Open/Save Dialogs
« Reply #3 on: April 12, 2010, 06:58:57 am »
"Funny" thing that you say that. I had very similar problem in Delphi and some externall dll's.
I know that you said that calling dialogs even through the Win API kills your app but try this:

http://www.delphi3000.com/articles/article_3790.asp?SK=

It helped in my case.

JD

  • Hero Member
  • *****
  • Posts: 1905
Re: Win64 + Bass.dll = Kill Open/Save Dialogs
« Reply #4 on: April 12, 2010, 09:42:58 am »
"Funny" thing that you say that. I had very similar problem in Delphi and some externall dll's.
I know that you said that calling dialogs even through the Win API kills your app but try this:

http://www.delphi3000.com/articles/article_3790.asp?SK=

It helped in my case.

Thanks a lot for the link. I'll be trying out these functions for sure.
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

Wodzu

  • Full Member
  • ***
  • Posts: 171
Re: Win64 + Bass.dll = Kill Open/Save Dialogs
« Reply #5 on: April 12, 2010, 10:32:07 am »
My pleasure. Give us know if it helped or not.

wOvAN

  • New Member
  • *
  • Posts: 47
    • wxSoft.Ru
Re: Win64 + Bass.dll = Kill Open/Save Dialogs
« Reply #6 on: April 16, 2010, 08:49:15 pm »
I've found what was wrong with it. It seems that Lazarus installer doesn't correct updates existing installation. so since updated it a lot of times, some of files seem to be left outdated.
I guess It might cause some mislinking.
and  all i did is installed Lazarus in new folder and then manually updated all the source files.
Recompiled it.
So the problem was solved, thanks to everyone for helping. :)

 

TinyPortal © 2005-2018