TurboCAD Forums

The Ultimate Resource for TurboCAD Knowledge

Register
 
When replying to a specific statement be sure to quote the previous post.

Tool 64-bit VS-express
Read 7438 times
* April 05, 2012, 02:20:23 AM
I installed TC19-64 bit. My old Vb6.dll will no longer work in the 64-bit enviroment.
So I installed VS2010 express (VB.net an VC++)
The Samples in the SDK-folder don´t work.

Please IMSI and especially Kevin Chapmann help.
Please revise the samples in SDK/samples/VB Net

looking forward to your answer
Bernd

Logged


* April 10, 2012, 08:05:12 AM
#1
Hi Bernd. I'm looking into it!

Kevan

Logged


* April 14, 2012, 01:44:17 PM
#2
Hello Kevan
I am one step further.
Using VS-express 2010 the error occur:
>>atlbase.h and atlthunk.lib not found in Visual C++ 2010 express<<

There have to be a workaround
see the link
http://www.quantcode.com/modules/smartfaq/faq.php?faqid=99

then the .dll are build in Vc++ and VB.net
copy to the \dragger in TC19-64 bit : nothing happens
copy to the \dragger in TC19-32 bit : the bonus tool appear in the menu.
starting the bonus tool a window open:
TCVBNETTool
Add your code here!!

whatever that means??

But the fact is: it work only with the 32-bit version. But I need that for the 64 bit version?
Please Kevan have a look to that.

Bernd

-------------
sample projekt : App
loading the projekt
starting debugger: the following error occur:

System.InvalidOperationException wurde nicht behandelt.
  Message=Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Die Datei oder Assembly "Interop.IMSIGX, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden..
  Source=TCGeometryVBNet
  StackTrace:
       bei TCGeometryVBNet.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 190.
       bei TCGeometryVBNet.My.MyProject.MyForms.get_Form1()
       bei TCGeometryVBNet.Form1.Main() in D:\Program Files\IMSIDesign\TCWP19\SDK\Samples\VB NET\App - Kopie\TCGeometryVBNet\Form1.vb:Zeile 0.
       bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       bei System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.BadImageFormatException
       Message=Die Datei oder Assembly "Interop.IMSIGX, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.
       Source=TCGeometryVBNet
       FileName=Interop.IMSIGX, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null
       FusionLog==== Zustandsinformationen vor Bindung ===
LOG: Benutzer = i7-2600k\bernd
LOG: DisplayName = Interop.IMSIGX, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null
 (Fully-specified)
LOG: Appbase = file:///D:/Program Files/IMSIDesign/TCWP19/SDK/Samples/VB NET/App - Kopie/TCGeometryVBNet/bin/
LOG: Ursprünglicher PrivatePath = NULL
Aufruf von Assembly : TCGeometryVBNet, Version=1.0.4487.38712, Culture=neutral, PublicKeyToken=null.
===
LOG: Diese Bindung startet im default-Load-Kontext.
LOG: Die Anwendungskonfigurationsdatei wird verwendet: D:\Program Files\IMSIDesign\TCWP19\SDK\Samples\VB NET\App - Kopie\TCGeometryVBNet\bin\TCGeometryVBNet.vshost.exe.config
LOG: Die Hostkonfigurationsdatei wird verwendet:
LOG: Die Computerkonfigurationsdatei von C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config wird verwendet.
LOG: Die Richtlinie wird derzeit nicht auf den Verweis angewendet (private, benutzerdefinierte, teilweise oder pfadbasierte Assemblybindung)
LOG: Download von neuem URL file:///D:/Program Files/IMSIDesign/TCWP19/SDK/Samples/VB NET/App - Kopie/TCGeometryVBNet/bin/Interop.IMSIGX.DLL.
ERR: Das Setup der Assembly konnte nicht abgeschlossen werden (hr = 0x8007000b). Die Suche wurde beendet.

       StackTrace:
            bei TCGeometryVBNet.TCEngine..ctor()
            bei TCGeometryVBNet.Form1..ctor() in D:\Program Files\IMSIDesign\TCWP19\SDK\Samples\VB NET\App - Kopie\TCGeometryVBNet\Form1.vb:Zeile 49.
       InnerException:

-------------------
Win7 prof 64bit, TC18 and 19 pro
« Last Edit: April 15, 2012, 12:39:09 AM by ibruethsch »

Logged


* April 15, 2012, 12:56:23 AM
#3
Wikipedia helps
Visual Studio Express:
>>It does not include support for plug-ins. x64 compilers are not included in the Visual Studio Express edition IDEs...<<

So the problem with the 64-bit seems to be within VS-Express.

What a pity!

Logged


* April 15, 2012, 02:05:29 PM
#4
to build 64-bit .dll with VS-express C++ it is necessary to install
Windows Software Development Kit (SDK)
see
How to: Configure Visual C++ Projects to Target 64-Bit Platforms
http://msdn.microsoft.com/en-us/library/9yb4317s.aspx

but nevertheless the sample projekts will not work.
e.g. loading the TCVBNETTool.sln in VB-express
VB mention TCVBNETToolBridge.vcproj (ist nicht verfügbar - not loaded)
The suffix in VC2010 is vcxproj (not vcproj)

So please Kevan give us samples that are work with VS2010 and 64bit.

best regards
Bernd

Logged


* April 19, 2012, 12:40:02 PM
#5
To make sure that VS-express isn´t the reason for the problems.
I installed VS-2010 professional as a trial version.
But the result is the same: non of the samples work with TC19-64bit.

I renew my request:
Kevan please give us samples that work with VS-2010 and TC19-64bit.

Best regards
Bernd

Logged


* April 22, 2012, 07:54:08 AM
#6
The patch (20.4 to 26.1) brought some improvements:
Now my old 32-bit .dll still work in TC19-64 bit.
But they go some deviations - I think thru WOW64, but don´t know excactly.
That means they become very slowly. (In TC19-32bit = 5 sec in TC19-64bit ~80 sec)
Not really good, but better than nothing.

In the long run, I have to build 64-bit .dll. Therefore  I (and I think some more users) need working samples with VS2010 and TC19-64bit.

Please IMSI and especially Kevan Chapmann help.
Please revise the samples in SDK/samples/VB Net

looking forward to your answer
Bernd
« Last Edit: May 01, 2012, 11:07:04 AM by ibruethsch »

Logged


* May 04, 2012, 05:55:30 PM
#7
I''m sorry for the delay here, I've been caught up in another project that is eating up most of my time. Hope to start looking into this in June.

Logged


* May 11, 2012, 02:02:28 AM
#8
Hi Kevan
thanks for your examples VS2008.
http://forums.turbocad.com/index.php/topic,9164.0.html
In VS2010 the code has to be little adapted.
e.g. Cube
==================================================
Module Module1

    Sub Main()
        Dim tcapp As New IMSIGX.Application
        Dim actdr As IMSIGX.Drawing
        Dim gr As New IMSIGX.Graphic

        gr = tcapp.ActiveDrawing.Graphics.Add(, "TCW40CUBE")
        gr.Properties.Item("Solid").Value = True
        gr.Vertices.Add(0, 0, 0)
        gr.Vertices.Add(5, 0, 0)
        gr.Vertices.Add(0, 3, 0)
        gr.Vertices.Add(0, 0, 2)
        gr.Draw()

        TCApp.ActiveDrawing.ActiveView.Refresh()
    End Sub

End Module
===================================================
A hint for VS-Studio: do not copy a projectfolder. Use the template.

attached
template VB2010 exe for TC19-64bit.
Project VS2010-TC19-64_exe1

=================================================
Project VS2010-TC19-64_exe1  is a code to put every vertex.Z = 0.  It works, but works slowly.
(building a win32 .dll and use it with TC18 it is very very fast)
Module Module1

    Sub Main()
        Dim tcapp As New IMSIGX.Application
        Dim actdr As IMSIGX.Drawing
        Dim gr As New IMSIGX.XGraphic


        actdr = tcapp.ActiveDrawing

        For i As Integer = 0 To (actdr.Selection.Count - 1)

 
            gr = actdr.Selection.Item(i)
            gr.Vertices.UseWorldCS = True
 

            For j As Integer = 0 To (gr.Vertices.Count - 1)

                gr.Vertices(j).Z = 0


            Next j
        Next i
 
        tcapp.ActiveDrawing.ActiveView.Refresh()

    End Sub
===========================================

I had no success to create a VS2010 .dll for TC19-64 bit. I will wait for your samples.
The samples fom the SDK-folder e.g. SDK\Samples\VB NET\tool
work with VS2010 and x86 enviroment -TC18 or TC19-32 bit. But don´t work in x64 and TC19-64 bit.

BTW I bought a copy VS2010 Prof at ebay as a bargain. Now I am waiting for microsoft to confirm the legacy of my license. Hopefully I haven´t been cheated.

But  to create an .exe is possible with VS2010 express as well.

I am looking forward  to read your news in June.
best regards
Bernd
« Last Edit: May 11, 2012, 02:16:20 AM by ibruethsch »

Logged


* June 29, 2012, 04:30:19 PM
#9
I haven't got to the Samples/VB NET folder yet, but I have revised the projects in the Samples/DotNet/Base folder. While most are for C#, several of them are for VB.

See this post:
http://forums.turbocad.com/index.php/topic,9479.0.html

Logged


* July 12, 2012, 07:44:00 PM
#10
Or see this post for a more-involved example:
http://forums.turbocad.com/index.php/topic,9564.0.html

Logged