Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss
Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

shelllibrary not found?

29 views
Skip to first unread message

john c

unread,
Jul 30, 2023, 10:44:00 AM7/30/23
to
hi all,

can't figure out why i'm getting file not found. running under win 11 and dolphin v7.0.57.2. i included 1) path 2) file not found 3) dump

thanks,

john

PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Users\jndbu\AppData\Local\Microsoft\WindowsApps;C:\Users\jndbu\.dotnet\tools;C:\windows\System32\Shell32.DLL;

a ShellLibrary(16r75DD0000 - 'C:\windows\System32\Shell32.DLL')

10:33:31 AM, Sunday, July 30, 2023: 'The system cannot find the file specified. (16r2: The system cannot find the file specified. )'
ShellLibrary(ExternalLibrary)>>systemError
ShellLibrary>>shellOpen:directory:parameters:
ShellLibrary>>shellOpen:directory:
ShellLibrary>>shellOpen:
JCReportManager>>openCurrentReport
JCReportManager>>print
JCFoodInventoryShell>>printReport:
JCFoodInventoryShell>>printReport
JCIngredientPrintDialog>>print
Symbol>>forwardTo:
CommandDescription>>performAgainst:
[] in Command>>value
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
Command>>value
DialogView>>performCommand:
JCIngredientPrintDialog(Shell)>>performCommand:
CommandQuery>>perform
DelegatingCommandPolicy(CommandPolicy)>>route:
[] in PushButton(View)>>onCommand:
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
Cursor>>showWhile:
PushButton(View)>>onCommand:
PushButton(CommandButton)>>onActionPerformed
PushButton(View)>>performAction
PushButton>>command:id:
ContainerView(View)>>wmCommand:wParam:lParam:
ContainerView(View)>>dispatchMessage:wParam:lParam:
[] in InputState>>wndProc:message:wParam:lParam:cookie:
BlockClosure>>ifCurtailed:
InputState>>wndProc:message:wParam:lParam:cookie:
PushButton(ControlView)>>defaultWindowProcessing:wParam:lParam:
MouseEvent(WindowsEvent)>>defaultWindowProcessing
PushButton(View)>>onLeftButtonReleased:
PushButton(View)>>wmLButtonUp:wParam:lParam:
PushButton(View)>>dispatchMessage:wParam:lParam:
[] in InputState>>wndProc:message:wParam:lParam:cookie:
BlockClosure>>ifCurtailed:
InputState>>wndProc:message:wParam:lParam:cookie:
DialogView(View)>>isDialogMessage:
DialogView(ShellView)>>preTranslateMouseInput:
DialogView(View)>>preTranslateMessage:
InputState>>preTranslateMessage:
InputState>>pumpMessage:
InputState>>loopWhile:
InputState>>mainLoop
[] in InputState>>forkMain
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry
[] in ExceptionHandler(ExceptionHandlerAbstract)>>try:

john c

unread,
Jul 30, 2023, 11:08:29 AM7/30/23
to
i will add i tried doing a ShellLibrary default earlier in the processing to make sure the singleton was loaded but got the same result.

danie...@gmail.com

unread,
Jul 31, 2023, 10:56:59 PM7/31/23
to
Looking at the stack, the file that can't be found isn't shell32.dll—that's right where it should be, and indeed probably the VM would not start without it—but rather whatever JCReportManager>>currentReport passed to #shellOpen:. Looks like you maybe saved a temp file, or are managing a directory of files, and want to open it/one of them in the default program so the user can print it? Make sure you're either passing an absolute path, or know what `File workingDirectory` is (and note that open/save dialogs will change it on you) and provide a correct path relative to that. Just sticking with absolute paths is probably best. Have a look at FileLocator for relative-to-absolute translation with an arbitrary starting point. I think there are some class methods on File that can handle simpler cases or be combined to do custom stuff.

If you're still stumped, break out the `ShellLibrary default shellOpen:` call on its own line and put a breakpoint (`self halt`) before it, then you can examine the argument live in the debugger and keep re-executing the shellOpen: call (just as a DoIt) until you figure out what's confusing it.
0 new messages