WinSCP.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. #include <GUITools.h>
  16. //---------------------------------------------------------------------------
  17. WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
  18. {
  19. AddStartupSequence(L"T");
  20. int Result = 0;
  21. try
  22. {
  23. WinInitialize();
  24. Application->Initialize();
  25. Application->MainFormOnTaskBar = true;
  26. Application->ModalPopupMode = pmAuto;
  27. SetEnvironmentVariable(L"WINSCP_PATH",
  28. ExcludeTrailingBackslash(ExtractFilePath(Application->ExeName)).c_str());
  29. CoreInitialize();
  30. InitializeWinHelp();
  31. InitializeSystemSettings();
  32. AddStartupSequence(L"S");
  33. try
  34. {
  35. try
  36. {
  37. ConfigureInterface();
  38. SetupInitialize();
  39. Application->Title = AppName;
  40. Result = Execute();
  41. }
  42. catch (Exception & E)
  43. {
  44. // Capture most errors before Usage class is released,
  45. // so that we can count them
  46. Configuration->Usage->Inc(L"GlobalFailures");
  47. // After we get WM_QUIT (posted by Application->Terminate()), i.e once Application->Run() exits,
  48. // the message just blinks
  49. ShowExtendedException(&E);
  50. }
  51. }
  52. __finally
  53. {
  54. GUIFinalize();
  55. FinalizeSystemSettings();
  56. FinalizeWinHelp();
  57. CoreFinalize();
  58. WinFinalize();
  59. }
  60. }
  61. catch (Exception &E)
  62. {
  63. ShowExtendedException(&E);
  64. }
  65. return Result;
  66. }
  67. //---------------------------------------------------------------------------