All posts by rogue lj

JB’s Dudley, West Midlands

JB’s Dudley

No way!

Former Midland rock club JB’s will re-open at the end of September following a six-figure revamp – and these pictures provide a glimpse of its new-look.

The music venue in Dudley, which once played host to Robert Plant and U2, has been given a new lease of life following a 10-month restoration project.

However, the metal and rock nights that put the club on the map as a Midland music landmark will not return. Bosses say they will still hold live music and tribute nights, but also stage conferences, wedding receptions and banquet parties at the venue.

Read more: http://www.expressandstar.com/news/2012/08/30/date-set-for-reopening-of-legendary-club-jb%e2%80%99s/#ixzz252ijklwO

 

crdb_adoplus.dll file strangeness

crdb_adoplus

I was running into some problems when trying to use the Crystal Report Viewer in Visual Studio 2010 to view data stored in a local DataSet. After some initial problems with the Database login prompt appearing (you need to set the source with SetDataSource on the report document object, folks), I thought i’d sorted it, until I ran into this:

Could not load file or assembly ‘file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll’ or one of its dependencies. The system cannot find the file specified.

Changing a setting in the app.config file sorted it out. Here’s what I needed to change:

<startup>
  <supportedRuntime version=”v4.0″ sku=”.NETFramework,Version=v4.0″/>
</startup>

to:

<startup useLegacyV2RuntimeActivationPolicy=”true”>
  <supportedRuntime version=”v4.0″ sku=”.NETFramework,Version=v4.0″/>
</startup>

Here’s the MSDN Article that explains the useLegacyV2RuntimeActivationPolicy attribute in more detail:

http://msdn.microsoft.com/en-us/library/bbx34a2h(v=vs.100).aspx

Whether this causes me headaches further down the development path remains to be seen……

Iterating through open MDIChild forms

I recently had cause to check whether I already had an instance of an MDIChild form open in VB.NET. Using Array.Exists on the MDIChildren property of the MDI Parent form seemed like an elegant way to go. However, after further investigation it looked like i’d need code some supporting functions for the predicate. What I went with in the end was this:

 Dim formName As String = ""     ' Enter form name here

 For Each f As Form In Application.OpenForms
   If f.IsMdiChild = True AndAlso f.Name = formName Then

      ' Yes, we have a MDI Child form open with the required name

   End If
 Next

Here’s the complete code to open a new form, or activate the existing form (if there is one) :

 Dim formName As String = ""    Enter form name here
 Dim openForm As Form = Nothing

 ' Iterate and check for instance
 For Each f As Form In Application.OpenForms
    If f.IsMdiChild = True AndAlso f.Name = formName Then
       openForm = f
    End If
 Next

 openForm = CType(IIf(openForm Is Nothing, New OrderForm(New Guid(formName)), openForm), Form)
 openForm.MdiParent = Me
 openForm.Show()
 openForm.Activate()