Visual Studio Extension Package to call .DLL unmanaged/native functions
- or -
Post a project like this2686
£400(approx. $499)
- Posted:
- Proposals: 2
- Remote
- #1376847
- PRE-FUNDED
- Awarded
Description
Experience Level: Expert
Estimated project duration: 3 - 4 weeks
General information for the business: Software Tools
Kind of development: New program from scratch
Description of requirements/functionality: I have a .DLL file which I have written in native/unmanaged C++ (I have used the QT library to make it).
This .DLL exports seven functions. Please see the attached source files.
This .DLL generates some text files which must be added to the currently active Visual Studio Project.
So in my descriptions below you will see references to "text file".
This .DLL also needs to call Visual Studio to request stuff like "build the project".
There are three separate parts in this project and you can invoice me after completing each part but I would need complete source code up to that point for each invoice and I would need to know your deadlines before accepting your offer.
== MSVS Extension PART 1 ==
1- Load the DLL and call the DLL’s init() function
2- When existing or unloading the Extension call DLL’s going_to_exit() function
3- When MSVS is ready to show extra windows call DLL’s show() function (which will display a Window/Form).
4- Two buttons inside MSVS (it can be a new MSVS toolbar titled “C++ DLL Toolbar”) with corresponding menu items
4-1- One button will call DLL’s generate_file() function which will generate a text file (I will send you the icon)
4-2- One button will delete ALL the text files that the DLL generated and call DLL’s refresh_project() function (I will send you the icon)
5- The DLL’s generate_file() will need to call a function in MSVS Extension add_file_to_project(char* path) to add a generated text file to the MSVS project under a directory called “[MSVS PROJECT]\generated_text.
6- MSVS plug-in must keep a list of ALL the text files that were added to the project because the button in (4-2) has to know which text files to delete.
7- If a user edits any of the generated text files the MSVS plug-in must call DLL’s file_edited(char* path) function to inform the DLL.
== MSVS Extension PART 2 ==
8- Add a new button to the MSVS toolbar. This button must call DLL’s process_selected_text(blah blah blah) function and inform the DLL what file was open when the user clicked on the button and which lines of this file were selected. The file can be any file. For example if the user opens a random file MyFile.CSV inside visual studio and select line 25 to 27 and click on this button then the button must call process_selected_text(char* file, struct selection sel) and inform the DLL that the file “MyFile.CSV” was open and lines 25 to 27 inside this file are selected. You have to tell me the “text selection” data structure that I need inside the DLL for this function’s parameters (what do we need for struct selection{???}; ?). I will send you the icon.
9- The DLL must be able to call insert_text(char* file, struct selection sel, char* text) function inside the MSVS Extension. This must replace the specified “selection” inside the specified “file” with the specified “text” and the user must be able to see this change if the file is open inside MSVS.
== MSVS Extension PART 3 ==
10- The DLL must be able to call a build_project() function inside MSVS and trigger the MSVS project to build.
11- If the user clicks on build inside MSVS the Extension must call the DLL’s project_building(struct project prj) function. You need to tell me what I need to put inside the struct project{};
12- The DLL must be able to call a reload_project() function inside MSVS and trigger the project to reload inside MSVS.
== List of native/unmanaged functions in the .DLL ==
init()
show()
generate_file()
refresh_project()
process_selected_text()
project_building()
going_to_exit()
Specific technologies required: C#/.NET, MSVS Extension Package
OS requirements: Windows
Extra notes: Write a Microsoft Visual Studio Extension Package in C#/.NET and deliver in full together with "source code" and any other required files to allow for building and testing.
Kind of development: New program from scratch
Description of requirements/functionality: I have a .DLL file which I have written in native/unmanaged C++ (I have used the QT library to make it).
This .DLL exports seven functions. Please see the attached source files.
This .DLL generates some text files which must be added to the currently active Visual Studio Project.
So in my descriptions below you will see references to "text file".
This .DLL also needs to call Visual Studio to request stuff like "build the project".
There are three separate parts in this project and you can invoice me after completing each part but I would need complete source code up to that point for each invoice and I would need to know your deadlines before accepting your offer.
== MSVS Extension PART 1 ==
1- Load the DLL and call the DLL’s init() function
2- When existing or unloading the Extension call DLL’s going_to_exit() function
3- When MSVS is ready to show extra windows call DLL’s show() function (which will display a Window/Form).
4- Two buttons inside MSVS (it can be a new MSVS toolbar titled “C++ DLL Toolbar”) with corresponding menu items
4-1- One button will call DLL’s generate_file() function which will generate a text file (I will send you the icon)
4-2- One button will delete ALL the text files that the DLL generated and call DLL’s refresh_project() function (I will send you the icon)
5- The DLL’s generate_file() will need to call a function in MSVS Extension add_file_to_project(char* path) to add a generated text file to the MSVS project under a directory called “[MSVS PROJECT]\generated_text.
6- MSVS plug-in must keep a list of ALL the text files that were added to the project because the button in (4-2) has to know which text files to delete.
7- If a user edits any of the generated text files the MSVS plug-in must call DLL’s file_edited(char* path) function to inform the DLL.
== MSVS Extension PART 2 ==
8- Add a new button to the MSVS toolbar. This button must call DLL’s process_selected_text(blah blah blah) function and inform the DLL what file was open when the user clicked on the button and which lines of this file were selected. The file can be any file. For example if the user opens a random file MyFile.CSV inside visual studio and select line 25 to 27 and click on this button then the button must call process_selected_text(char* file, struct selection sel) and inform the DLL that the file “MyFile.CSV” was open and lines 25 to 27 inside this file are selected. You have to tell me the “text selection” data structure that I need inside the DLL for this function’s parameters (what do we need for struct selection{???}; ?). I will send you the icon.
9- The DLL must be able to call insert_text(char* file, struct selection sel, char* text) function inside the MSVS Extension. This must replace the specified “selection” inside the specified “file” with the specified “text” and the user must be able to see this change if the file is open inside MSVS.
== MSVS Extension PART 3 ==
10- The DLL must be able to call a build_project() function inside MSVS and trigger the MSVS project to build.
11- If the user clicks on build inside MSVS the Extension must call the DLL’s project_building(struct project prj) function. You need to tell me what I need to put inside the struct project{};
12- The DLL must be able to call a reload_project() function inside MSVS and trigger the project to reload inside MSVS.
== List of native/unmanaged functions in the .DLL ==
init()
show()
generate_file()
refresh_project()
process_selected_text()
project_building()
going_to_exit()
Specific technologies required: C#/.NET, MSVS Extension Package
OS requirements: Windows
Extra notes: Write a Microsoft Visual Studio Extension Package in C#/.NET and deliver in full together with "source code" and any other required files to allow for building and testing.
visualSilicon™
100% (11)Projects Completed
11
Freelancers worked with
11
Projects awarded
26%
Last project
31 Jan 2017
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies