Finale SmartMusic
  Home | Log In | Register | Search | Help
   
MakeMusic Forum > Public Forums > Plug-In Development - FORUM HAS MOVED! > What do I need to develope plug-ins with VC++ .net?  Forum Quick Jump
 
You cannot post new topics in this forum. You cannot reply to topics in this forum. Printable Version
[ << Previous Thread | Next Thread >> | Show Newest Post First ]

andi1204
Registered Member

Email Address Not AvailablePersonal Homepage Not AvailableSend a Private Message to andi1204AIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Jun 2004
Total Posts : 6
 
   Posted 6/24/2004 3:42 AM (GMT -6)    Quote This PostAlert An Admin About This Post.
Hello!

I'm trying to develope a plug in for finale and I've got the pdk for fin2003. Within this pdk there is an example code so I tried to compile this one but it does not work. There are a lot of errors displayed on the linking process! And where can I get the finale32.lib file (I've got an old one).

Thank you,
Andi blush
Back to Top

Jari Williamsson
Registered Member

Click to send Jari Williamsson email.Click to visit Jari Williamsson's website.Send a Private Message to Jari WilliamssonAIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Dec 1998
Total Posts : 3246
 
   Posted 6/25/2004 1:23 PM (GMT -6)    Quote This PostAlert An Admin About This Post.
What kind of link errors? finale32.lib is just an import library run on finale.exe, you can create one yourself using implib.

Just curious: this 2003 PDK of yours, does it have a file called finalepdk.cpp?

Another thing: Please feel free to try the finpdk group on yahoogroups, many more pdk developers there!


Jari Williamsson

Windows XP, Pentium 4
2.40 GHz, 1 GB RAM

Back to Top

andi1204
Registered Member

Email Address Not AvailablePersonal Homepage Not AvailableSend a Private Message to andi1204AIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Jun 2004
Total Posts : 6
 
   Posted 6/25/2004 4:44 PM (GMT -6)    Quote This PostAlert An Admin About This Post.
Yes ther is a file called finalepdk.cpp!
I think the project settings are incorrect, but I don't know the right one's!

Today I tried once again: I opened a new project (Win32) and I activated the button "DLL" and alos "Empty Project" (I hope that I have translated this correct - I have the german version of the vs.net). Then I changed my project settings: "Singelthread" and "1byte" - the linker settings: at the linker command line I typed ' /implib:"finale.exe" '! Then I copied the code from the pdk's "minimum code requiered" and pasted it in my project (in a new source code file named main.cpp). Then I have compiled this once again: no errors - the file is a .dll file and I renamed it to a .fxt file. Then I have copied this file to the plug-in folder of finale2003 and finally I started finale. But there is no plug in called "Test" or something else. What did I do wrong?
Back to Top

john.poole
Registered Member

Click to send john.poole email.Click to visit john.poole's website.Send a Private Message to john.pooleClick to Add JohnLPoole to Your AIM Buddy List.ICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Apr 2002
Total Posts : 30
 
   Posted 6/25/2004 10:43 PM (GMT -6)    Quote This PostAlert An Admin About This Post.
Andi -- The pdk for fin2003 that you reference, was this something you downloaded or did you obtain it through a special arrangement?

I understand that a special request can be made to obtain the updated PDK and I am wondering are people
obtaining it through this method, or is there some site where the updated PDK is available for
download?

A few minutes ago, I performed a search at Finale's site using "PDK" as the only search criteria and what was returned were
6 links to PDKs, the latest of which is dated August 1999.

Someone, possibly Jari, stated in an earlier post on this forum that the updated PDK was readily available (but no URL was provided), but then I saw
a post in another forum requesting MakeMusic to release the updated headers/files. I think it was the same person, but am not sure
and at a minimum, I'm very confused.

Would someone of MakeMusic please clarify the policy about releasing the PDKs?

If the policy is to release "unsupported" releases of the high watermark of the code, that's fine, it would be good to have this policy
brought out into the open.


John Laurence Poole

Editions Poole
www.editionspoole.com
finale4orum@editionspoole.com

Back to Top

Jari Williamsson
Registered Member

Click to send Jari Williamsson email.Click to visit Jari Williamsson's website.Send a Private Message to Jari WilliamssonAIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Dec 1998
Total Posts : 3246
 
   Posted 6/26/2004 4:27 AM (GMT -6)    Quote This PostAlert An Admin About This Post.
andi1204 said...
Yes ther is a file called finalepdk.cpp!

Then that's the best/easiest and most flexible solution! (Just replace the .lib file with finalepdk.cpp in your project.)

Anyway, I think you are very close now, the only thing that seems to be missing is the .def file that contains the 6 required (exported) entry points. And don't forget to byte-align data!


Jari Williamsson

Windows XP, Pentium 4
2.40 GHz, 1 GB RAM

Back to Top

Michael Good
MusicXML Maven



Email Address Not AvailableClick to visit Michael Good's website.Send a Private Message to Michael GoodAIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined May 2000
Total Posts : 1299
 
   Posted 6/26/2004 1:07 PM (GMT -6)    Quote This PostAlert An Admin About This Post.
To reiterate Jari's points, you have to have a .def file to define the 6 exported entry points. Ignore any Microsoft documentation that suggests other ways to define these exports. They won't work for a Finale plug-in.

In the English version of Visual C++ 6.0, the byte-alignment is done with:

Project -> Settings -> C++ -> Code Generation -> Struct member alignment -> 1 byte

This is essential to having your plug-in work correctly, even though you can get it to show up on the Finale Plug-ins menu without it.

Good luck!


Michael Good
Recordare LLC
 

Back to Top

andi1204
Registered Member

Email Address Not AvailablePersonal Homepage Not AvailableSend a Private Message to andi1204AIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Jun 2004
Total Posts : 6
 
   Posted 7/4/2004 11:01 AM (GMT -6)    Quote This PostAlert An Admin About This Post.
Hello Again!
 
Thank you for your tips. Now I'm able to write a plug-in that is accepted from the finale main program. Then I tried the following thing: (in the FinaleExtensionInvoke)
 

if(FX_IsDemo())

{

   MessageBox(0,"Test","Test",MB_OK | MB_ICONASTERISK);

}

But then the following error was displayed:

pluginneu error LNK2019: Nicht aufgelöstes externes Symbol '_FX_IsDemo@4', verwiesen in Funktion '_FinaleExtensionInvoke@16'

And I tried something esle with the FX_GetFinalePath

pluginneu error LNK2019: Nicht aufgelöstes externes Symbol '_FX_GetFinalePath@12', verwiesen in Funktion '_FinaleExtensionInvoke@16'

Have you got an idea?

Andirolleyes

Back to Top

Jari Williamsson
Registered Member

Click to send Jari Williamsson email.Click to visit Jari Williamsson's website.Send a Private Message to Jari WilliamssonAIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Dec 1998
Total Posts : 3246
 
   Posted 7/7/2004 3:49 AM (GMT -6)    Quote This PostAlert An Admin About This Post.
andi1024 said...
But then the following error was displayed:

pluginneu error LNK2019: Nicht aufgelöstes externes Symbol '_FX_IsDemo@4', verwiesen in Funktion '_FinaleExtensionInvoke@16'


Did you remove the implib:ed file and added the finalepdk.cpp file to the project instead?


Jari Williamsson

Windows XP, Pentium 4
2.40 GHz, 1 GB RAM

Back to Top

andi1204
Registered Member

Email Address Not AvailablePersonal Homepage Not AvailableSend a Private Message to andi1204AIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Jun 2004
Total Posts : 6
 
   Posted 7/7/2004 10:38 AM (GMT -6)    Quote This PostAlert An Admin About This Post.
I think I know what this message mean: It does only appear when I use a function that is new in the pdk2003-2004 because it is not in the finale32.lib file. Now i have tried many things: I've exported the function from the finale.exe(2003a) file with an exe called implib - but the linker does not accept the file (the @ is missing????). Then I tried to remove the finale32.lib and instead of it I added the finalepdk.cpp to the project (project-sourcecode) - this also doesn't work....
 
Andi
Back to Top

Jari Williamsson
Registered Member

Click to send Jari Williamsson email.Click to visit Jari Williamsson's website.Send a Private Message to Jari WilliamssonAIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Dec 1998
Total Posts : 3246
 
   Posted 7/7/2004 11:39 AM (GMT -6)    Quote This PostAlert An Admin About This Post.
andi1024 said...
quot;]Then I tried to remove the finale32.lib and instead of it I added the finalepdk.cpp to the project (project-sourcecode) - this also doesn't work....


Strange, with the "finalepdk.cpp approach" it should be fairly easy to make it compile correctly. What error did you get when finalepdk.cpp was included in the project? Same error as before? Have you recompiled the whole project? Exactly which files are part of your plug-in project?


Jari Williamsson

Windows XP, Pentium 4
2.40 GHz, 1 GB RAM

Back to Top

andi1204
Registered Member

Email Address Not AvailablePersonal Homepage Not AvailableSend a Private Message to andi1204AIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Jun 2004
Total Posts : 6
 
   Posted 7/7/2004 2:35 PM (GMT -6)    Quote This PostAlert An Admin About This Post.
I have three files in my project: pluginneu.cpp (with the six exported functions), finalepdk.cpp and pluginneu.def.
The error is something else:

pluginneu error LNK2019: Nicht aufgelöstes externes Symbol '"struct HINSTANCE__ * __cdecl GetFinaleHandle(void)" (?GetFinaleHandle@@YAPAUHINSTANCE__@@XZ)', verwiesen in Funktion '"int (__stdcall*__cdecl GetFXProc(char *))(void)" (?GetFXProc@@YAP6GHXZPAD@Z)'

Maybe you can tell me how to get the implib.exe (in vs .net 2003 there is only a lib.exe but when i run it on the finale.exe I've got an error that says: cannot open the file finale.exe - it's damaged....)
I've already tried to work with an different implib program but the file is totally different to the origin finale32.lib (the old one, I think version 2000)

Thanks,
Andi
Back to Top

Jari Williamsson
Registered Member

Click to send Jari Williamsson email.Click to visit Jari Williamsson's website.Send a Private Message to Jari WilliamssonAIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Dec 1998
Total Posts : 3246
 
   Posted 7/7/2004 3:02 PM (GMT -6)    Quote This PostAlert An Admin About This Post.
andi1024 said...
The error is something else:

pluginneu error LNK2019: Nicht aufgelöstes externes Symbol '"struct HINSTANCE__ * __cdecl GetFinaleHandle(void)" (?GetFinaleHandle@@YAPAUHINSTANCE__@@XZ)', verwiesen in Funktion '"int (__stdcall*__cdecl GetFXProc(char *))(void)" (?GetFXProc@@YAP6GHXZPAD@Z)'


Aha, you got the Fin2004 PDK! Then you need to add another file as well to your project:
fxFinaleHandle.cpp
(probably located in the Win folder of the PDK) - this file contains the GetFinaleHandle() function which is used by the finalepdk.cpp file in the Fin2004PDK.

This should solve it!


Jari Williamsson

Windows XP, Pentium 4
2.40 GHz, 1 GB RAM

Back to Top

andi1204
Registered Member

Email Address Not AvailablePersonal Homepage Not AvailableSend a Private Message to andi1204AIM Not AvailableICQ Not AvailableY! Not AvailableMSN Not Available
Date Joined Jun 2004
Total Posts : 6
 
   Posted 7/7/2004 3:10 PM (GMT -6)    Quote This PostAlert An Admin About This Post.
I'm very glad - now it's working. But this isn't documented?
 
Thank you very much
 
Andi
Back to Top
You cannot post new topics in this forum. You cannot reply to topics in this forum. Printable Version
   
Forum Information
Currently it is Tuesday, December 19, 2023 8:19 PM (GMT -6)
There are a total of 403,820 posts in 58,165 threads.
In the last 3 days there were 0 new threads and 0 reply posts. View Active Threads