WinSCP.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. USEFORM("forms\CustomScpExplorer.cpp", CustomScpExplorerForm);
  5. USEFORM("forms\NonVisual.cpp", NonVisualDataModule); /* TDataModule: File Type */
  6. USEFORM("forms\ScpCommander.cpp", ScpCommanderForm);
  7. USEFORM("forms\ScpExplorer.cpp", ScpExplorerForm);
  8. //---------------------------------------------------------------------------
  9. #include <CoreMain.h>
  10. #include <WinInterface.h>
  11. #include <ProgParams.h>
  12. #include <VCLCommon.h>
  13. #include <Setup.h>
  14. #include <PuttyTools.h>
  15. //---------------------------------------------------------------------------
  16. WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
  17. {
  18. AddStartupSequence(L"T");
  19. int Result = 0;
  20. try
  21. {
  22. WinInitialize();
  23. Application->Initialize();
  24. Application->MainFormOnTaskBar = true;
  25. Application->ModalPopupMode = pmAuto;
  26. SetEnvironmentVariable(L"WINSCP_PATH",
  27. ExcludeTrailingBackslash(ExtractFilePath(Application->ExeName)).c_str());
  28. CoreInitialize();
  29. InitializeWinHelp();
  30. InitializeSystemSettings();
  31. AddStartupSequence(L"S");
  32. try
  33. {
  34. try
  35. {
  36. ConfigureInterface();
  37. SetupInitialize();
  38. Application->Title = AppName;
  39. Result = Execute();
  40. }
  41. catch (Exception & E)
  42. {
  43. // Capture most errors before Usage class is released,
  44. // so that we can count them
  45. Configuration->Usage->Inc(L"GlobalFailures");
  46. // After we get WM_QUIT (posted by Application->Terminate()), i.e once Application->Run() exits,
  47. // the message just blinks
  48. ShowExtendedException(&E);
  49. }
  50. }
  51. __finally
  52. {
  53. FinalizeSystemSettings();
  54. FinalizeWinHelp();
  55. CoreFinalize();
  56. WinFinalize();
  57. }
  58. }
  59. catch (Exception &E)
  60. {
  61. ShowExtendedException(&E);
  62. }
  63. return Result;
  64. }
  65. //---------------------------------------------------------------------------