Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: x64 component build not working (Read 2383 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

x64 component build not working

Hello everybody,

Still trying to upgrade TagBox component (more than 12 year old code) to work with foobar2000 v2, replaced the SDK files with the latest version and after a few changes here and there got the x86 config to build without errors and the component works well with foobar2000 v2 (x86) no problem.

Changed the configuration to x64 and made a 64bit version, the component is recognized by foobar2000 v2 (x64), preferences page shows with no problem, but the UI element doesn't show anything, if I click the empty panel "Add new UI Element" dialog is shown and TagBox is selectable there but when I select it nothing happens the panel remains empty.

No exception is thrown, my ui_element constructor isn't even being called. I don't know where to start debugging this, can anybody help? thanks in advance.

Re: x64 component build not working

Reply #1
There are a lot of people desperate to have this working in v2 so it's great that you already have it working on x86, and I'm hoping that someone can help with the x64 version too.

Looking forward to a v2 release of any kind!

Re: x64 component build not working

Reply #2
In theory, no changes should be required for any UI element code. I certainly didn't have to do anything updating my own components.

Maybe look at the ui_ement portions of foo_sample bundled with the SDK and try and align your code with how it does things.

Re: x64 component build not working

Reply #3
Hi @Arash,

I don't know if you've managed to get tagbox built for x64 yet, but if not do you think you could release an x86 version? It really is the cornerstone of my foobar build.

Thanks

Re: x64 component build not working

Reply #4
Just wanted to add my grain of salt as I also encountered that blank component window myself.
Although I am mentioning the obvious my advice would be to mod component version often to ease checking that you are running updated binaries, and revise all get_wnd() overrides. You may also be able to not override it at all depending on your class structure or how you are initiating the service.

Also, check others component of your own that you might be running alongside.
The culprit could also be another experimental component returning an invalid window handle, causing other component layouts displacements. If your component includes the pop-up feature, try activating it and check if random areas start blinking instead of the expected ones.

Best luck resolving that issue!

Re: x64 component build not working

Reply #5
It would be nice to see Adplug v1.55 be updated to be compatible with v2.1 beta 2023-08-11 x64. Already works with x86. Thanks. @kode54

Re: x64 component build not working

Reply #6
@Arash Really hope that you will solve the x64 issues with your component. Would be great if you could make the updated x86 version available that you got working.

Re: x64 component build not working

Reply #7
I resolved the problem, had something to do with reading and writing config files, I was using a size_t there which obviously changes when switching between x64 and x86. An exception was showing in the output window but not breaking because of VS exception settings. Both x64 and x86 versions are working now, the problem is I don't remember how to update my files on foobar2000 website, somebody help please:)

Re: x64 component build not working

Reply #8
I think I figured it out, waiting for my access to the components page to be restored...