Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Newbie corner » Help with Lib Wrapper DLL
Help with Lib Wrapper DLL [message #41417] Sun, 15 December 2013 06:36 Go to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

Greetings

I have attached my project with which I cannot seem to access the DLL as the program crashes when I try accessing it. LNPUBLIC makes it worse as it won't compile then.

The class I am interested in is called the PP_ComLib_WrapperClass which is within the DLL called PP_ComLib_Wrapper.dll At this moment, I have tried a lot of things and reached the point of frustration. Can someone please nudge me in the right direction with this?

The least I would like to do is access the Version() export so that I can make it work.

I have a C++ solution that works, but, I cant figure out how to port it to UPP. Any help with this appreciated.

Regards
Jerson
  • Attachment: PSoC1_APP.zip
    (Size: 25.47KB, Downloaded 215 times)

[Updated on: Sun, 15 December 2013 09:05]

Report message to a moderator

Re: Help with Lib Wrapper DLL [message #41418 is a reply to message #41417] Sun, 15 December 2013 08:56 Go to previous messageGo to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

Unable to attach the VC++ express solution here. I do not know why the ZIP is being rejected.

So, I have posted the Form1.h which explains the process that seems to work.

#pragma once


namespace psocpgm {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;
	using namespace PP_ComLib_Wrapper; /* this is also the name of the DLL which is added to Project->References */

	/// <summary>
	/// Summary for Form1
	///
	/// WARNING: If you change the name of this class, you will need to change the
	///          'Resource File Name' property for the managed resource compiler tool
	///          associated with all .resx files this class depends on.  Otherwise,
	///          the designers will not be able to interact properly with localized
	///          resources associated with this form.
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		PP_ComLib_WrapperClass ^ pp;

		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: Add the constructor code here
			//
		}

	protected:
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::Button^  button1;
	protected: 
	private: System::Windows::Forms::Button^  button2;

	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->button1 = (gcnew System::Windows::Forms::Button());
			this->button2 = (gcnew System::Windows::Forms::Button());
			this->SuspendLayout();
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(27, 12);
			this->button1->Name = L"button1";
			this->button1->Size = System::Drawing::Size(76, 30);
			this->button1->TabIndex = 0;
			this->button1->Text = L"button1";
			this->button1->UseVisualStyleBackColor = true;
			this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
			// 
			// button2
			// 
			this->button2->Location = System::Drawing::Point(260, 13);
			this->button2->Name = L"button2";
			this->button2->Size = System::Drawing::Size(74, 29);
			this->button2->TabIndex = 1;
			this->button2->Text = L"button2";
			this->button2->UseVisualStyleBackColor = true;
			this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(355, 54);
			this->Controls->Add(this->button2);
			this->Controls->Add(this->button1);
			this->Name = L"Form1";
			this->Text = L"Form1";
			this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
			this->ResumeLayout(false);

		}
#pragma endregion
	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e)
	{
		pp = gcnew PP_ComLib_WrapperClass;
	}
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
	{
		if(!pp->w_IsConnected())
		{
			if(pp->w_ConnectToLatest() == 0)
			{
				this->Text = "PP COM-object " + pp->Version();
			}
			else
				this->Text = "No PP is installed on your PC";
		}
	}
	private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) 
	{
		if(pp->w_IsConnected())
		{
			pp->w_Disconnect();
			this->Text = "PP COM-object " + pp->Version();
		}
	}
	};
}

[Updated on: Sun, 15 December 2013 09:19]

Report message to a moderator

Re: Help with Lib Wrapper DLL [message #41419 is a reply to message #41418] Sun, 15 December 2013 16:13 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3355
Registered: August 2008
Senior Veteran
Hello Jerson

Your dll does not seem to have any Version() function.

In my case when doing dll in C++ I prefer to prepare some interface C functions to access the C++ stuff from outside the dll.


Best regards
IƱaki
Re: Help with Lib Wrapper DLL [message #41421 is a reply to message #41419] Sun, 15 December 2013 22:53 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 526
Registered: March 2007
Contributor
Not sure if it's because the DLL is not created as you had expected.

dumpbin /EXPORTS

on your attached DLL shows something like:
2000 .reloc
2000 .rsrc
16000 .text

You may want do double check if you can use the dll from within another project in visual studio.
Re: Help with Lib Wrapper DLL [message #41423 is a reply to message #41421] Mon, 16 December 2013 02:08 Go to previous messageGo to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

Here is a screenshot showing the DLL in the VS object browser. As you can see, it has a whole host of classes within it. One of those classes is the PP_ComLib_WrapperClass (not in screenshot range). Unfortunately, I am unable to attach the VS project here as the ZIP file refuses to upload even though it is under the limit of 8192kb. I can reference the DLL either by VS C++ or VB6 by setting the Project->Reference to the DLL. I will try again to upload the VS project.
index.php?t=getfile&id=4370&private=0
  • Attachment: vc++ss.gif
    (Size: 59.23KB, Downloaded 496 times)
Re: Help with Lib Wrapper DLL [message #41424 is a reply to message #41423] Mon, 16 December 2013 02:14 Go to previous messageGo to next message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

Ah, it was the Intellisense file in the ZIP that was causing the problem. It was originally 10mb compressed to 2mb in the ZIP.
  • Attachment: psocpgm.zip
    (Size: 26.73KB, Downloaded 189 times)
Re: Help with Lib Wrapper DLL [message #41426 is a reply to message #41424] Mon, 16 December 2013 10:59 Go to previous message
jerson is currently offline  jerson
Messages: 202
Registered: June 2010
Location: Bombay, India
Experienced Member

I believe I am up against this.
http://msdn.microsoft.com/en-us/library/ms404285%28v=vs.110% 29.aspx
see the section "Wrapping COM Objects in a Managed Application"

How can I achieve this in Upp?
Previous Topic: Format 1234567.89 as 1,234,567.89
Next Topic: How to install Upp under Ubuntu 12.04 from PPA
Goto Forum:
  


Current Time: Fri Mar 29 14:15:14 CET 2024

Total time taken to generate the page: 0.01136 seconds