This is my first time trying to use an external C DLL. My test program builds fine (debug or release) when setting the Copy Files step to None. I have to manually copy the DLL file to the location of the exe file.
If I set the Copy Files step to Both, the IDE hangs at the Copy Files step. The IDE has to be ended in Task Manager. The exe file and supporting DLL’s are created but the C dll is not copied. The project folder is in my Documents folder so it should not be a UAC issue.
Hanging point when using Run button:
Files created before IDE hangs:
Hanging point when using Build button:
Files created before IDE hangs:
Copy File step location:
Windows 10 Pro ver 1903
Does anyone have any suggestions to troubleshoot or correct this?
I put the jpg files on Imgur but they don’t seem to show up on the post. Any suggestions?
It looks like imgur changed and doesn’t give you the direct URL as easily as before. You can right-click on each image and choose Copy URL to get it. Look like they now have an “i.” prefix:
That solved issue #1. Now onto issue #2?
I’m using Malwarebytes and set up an exclusion for the Xojo IDE - no change
Ran IDE as admin - no change
As a possible workaround, I set the copy file step to none. I wrote a windows batch file to copy the dll to the release build folder. It works fine from a command window. I then wrote a script file to call the batch file. I get no error messages and the IDE hangs at the same point. The dll file is not copied.
The script file is
Var command As String
command = "copybuild.bat"
Var result As String
result = DoShellCommand(command)
remove the copy file step and script
then do a RUN PAUSED (Project > Run Paused)
then copy the dll file manually
this should prove instructive esp if you do it from the command line
try doing it with xcopy
Did the above except used copy from the command line (xcopy not recognized as internal or external command). DLL file copied successfully but resume button and resume menu items were disabled. Never used run paused before so I’m not sure what should happen. Screen shot;
My test program does not call any functions from the DLL until I click on a test button. So I can run the program and copy the DLL after my window appears. The program runs fine when I click test. If I don’t copy the DLL, I get a function not found (or similar) error. I can also run the batch file I wrote to copy the DLL to the file.
xcopy is NOT recognized ???
that really would be a problem
what version of windows is this ?
fwiw once you do the copy then you need to just double click the exe to start it
run paused is a means for you to manually start the app
,aybe you need to provide some command line params or, like in this case, copy something next to the exe or do some other set up
In windows defender it may be blocked, as the documents folder is normally not accessible without allowing any process to do so. Open the windows notifications and see if there is a notification for blocked folder access
Check your PATH environment variable, it might have been broken by something which means a Xojo process can’t locate the required command to copy the dll into position if it uses a shell to do that.
if xcopy isnt working that might explain why things hang
Thank you all.
Neither System32 or SysWOW64 were on the path. Corrected that and the Copy File build step is now working.