Script Fails when called from another application.

Technical support and scripting issues

Moderators: JRL, Dorian (MJT support)

Post Reply
kpassaur
Automation Wizard
Posts: 696
Joined: Wed Jul 07, 2004 1:55 pm

Script Fails when called from another application.

Post by kpassaur » Mon Jul 19, 2010 4:59 pm

I have a script that is compiled that I call from another application and it has been running just fine. I decided to modify it and add a dialog for user choices.

When I step through the code it works fine. When I compile it and run it, it runs fine. When it is called from a different application it locks up. Or should I say it does not end, it just hangs there.

If I remove the dialog and put in a promt to just Ask the user it works, the difficulty is that the user only has one choice and they need more than that.

I have tried everything I can think of with no sucess, any ideas as to what would cause such behavior?

adroege
Automation Wizard
Posts: 438
Joined: Tue Dec 07, 2004 7:39 pm

Post by adroege » Mon Jul 19, 2010 5:21 pm

Can you post the code?

kpassaur
Automation Wizard
Posts: 696
Joined: Wed Jul 07, 2004 1:55 pm

code that locks up

Post by kpassaur » Mon Jul 19, 2010 7:10 pm

Below is the code, currently I have it just display a message and continue. The portion to display a Dialog is remarked out.

The program is for processing PDF files. A script monitors a folder, when a PDF is one is found a command is issued that opens a viewer. The viewer writes a text file to a temp folder and moves the PDF to the same folder. The viewer then executes this script and waits for the process to finish. Once it does it loads then next image.

As, I menitoned it works when I step through it line by line. It works when I comple it and execute it. It only locks up if it is called by the other applicaiton. All I can think of is some kind of memory issue.

Code: Select all

// COMPILE_OPTS|C:\Program Files\eDocfile\eFax Distributor\eFax Rules Processing.exe|\\X-series\keith\Files\Icons\pdffiler.ico|CONSOLE=0|INCLUDES=1| /LOGFILE=\dev\nul /NOSYSTRAY /HIDE /NOSTOPKEY

Let>APP_TITLE=eFax Distributor Processor
RegistryReadKey>HKEY_LOCAL_MACHINE,SOFTWARE\eDocFile\eFax Distributor,AppFolder,ProgramFolder
Let>Productname=eFax Distributor


VBSTART
Function GetFolder(Folder)
    Set WShell = CreateObject("WScript.Shell")
    GetFolder = WShell.SpecialFolders(Folder)
    Set WShell = Nothing
End Function
Function GetLongName(shortName)
  dim oArgs, oShell, oSC
  Set oShell = CreateObject("WScript.Shell")
  ' Link will not be created!
  Set oSC = oShell.CreateShortcut("c:\foo.lnk")

  oSC.TargetPath = shortName
  GetLongName = oSC.TargetPath
  Set oSC = Nothing
End Function

Function IsInteger(var)
  IsInteger = IsNumber(var) and (InStr(var,".") = 0)
End Function
Function IsNumber(var)
  IsNumber = (LCase(var) = UCase(var)) and isNumeric(var)
End Function
Sub killProcess(pgm)
  set wmi = getobject("winmgmts:")
  sQuery = "select * from win32_process " & "where name='" & pgm & "'"
  set processes = wmi.execquery(sQuery)
  for each process in processes
    process.terminate
  next
End Sub
'returns the number of copies of ProcessName that are running
'will return 0 if ProcessName is not running
Function IsProcessRunning(ProcessName)
    Set oWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set colProcessList = oWMIService.ExecQuery ("Select Name from Win32_Process where Name='" & ProcessName & "'")
    IsProcessRunning = colProcessList.count
End Function

Const ssfCOMMONAPPDATA = &H23

Function GetSpecialFolder(FolderID)
  Set objShell  = CreateObject("Shell.Application")
  Set objFolder = objShell.Namespace(FolderID)
  Set objFolderItem = objFolder.Self
  GetSpecialFolder = objFolderItem.Path
End Function
VBEND

Let>comma=,

VBEval>GetSpecialFolder(ssfCOMMONAPPDATA),pathComAppData
Let>settinsdir=%pathComAppData%\edocfile\eFax Distributor

VBEval>GetLongName("%settinsdir%"),tempdir
Let>tmpfolder=%settinsdir%\temp\Rules


IffileExists>%settinsdir%\mail\mimesender.exe
Goto>havemailpro
Endif
CopyFile>%ProgramFolder%\mimesender.exe,%settinsdir%\mail\mimesender.exe
Label>havemailpro

ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,Monitor Time,MT
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,Input Folder,MF
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,Standard Folder,SF
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,UNC Path,UNC
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,Archive Folder,AF

ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,eMail Password,Pass
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,From Address,frad
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,eMail Port,PT
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,eMail USRID,Uid
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,SMTP Server,MS
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,From Name,fname
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,SMTP Auth,autreq
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,Subject Line,SL
ReadIniFile>%settinsdir%\PDFSetup.ini,Settings,eMail Body Text,BT


Let>MS=-host %MS%
Let>PT=-port %PT%
Let>Uid=-user %Uid%
Let>Pass=-pass %Pass%
Let>frad=-from %frad%
ReadFile>%settinsdir%\plist.txt,printerlist

Dialog>FailedDialog
object FailedDialog: TForm
  Left = 1597
  Top = 137
  HelpContext = 5000
  BorderIcons = [biSystemMenu]
  BorderStyle = bsDialog
  Caption = 'Registered to %License%'
  ClientHeight = 225
  ClientWidth = 351
  Color = clWhite
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = True
  Position = poDesktopCenter
  ShowHint = True
  OnTaskBar = False
  PixelsPerInch = 96
  TextHeight = 13
  object msLabel1: TLabel
    Left = 120
    Top = 22
    Width = 111
    Height = 16
    Caption = 'Attention!!'
    Font.Charset = ANSI_CHARSET
    Font.Color = clWindowText
    Font.Height = -16
    Font.Name = 'Gotthard'
    Font.Style = []
    ParentFont = False
    Transparent = True
  end
  object msLabel2: TLabel
    Left = -565
    Top = 34
    Width = 914
    Height = 24
    Caption = 
      '________________________________________________________________' +
      '___________________'
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clRed
    Font.Height = -19
    Font.Name = 'MS Sans Serif'
    Font.Style = [fsBold]
    ParentFont = False
    Transparent = True
  end
  object MSImage1: tMSImage
    Left = 8
    Top = 8
    Width = 49
    Height = 49
    Picture.Data = {
      07544269746D617036150000424D361500000000000036000000280000002A00
      00002A000000010018000000000000150000130B0000130B0000000000000000
      0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFB
      FBFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF9F9F9F1F1F1EAEAEAE5E5
      E5E8E8E8EEEEEEF6F6F6FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF3F3F3E5E5E5D4D4D4C5C5C5BEBE
      BEC1C1C1CDCDCDDBDBDBE9E9E9F4F4F4FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEF7F7F7E6E6E6CCCCCCB1B0B09A99998F8F
      8F9292929F9F9FB4B4B4C8C8C8DBDBDBE9E9E9F3F3F3FAFAFAFEFEFEFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBF9F9F9
      F8F8F8F8F8F8F8F8F8F8F8F8F5F5F5EAEAEAD2D2D2B0AEAE8E8A88736D6A6963
      606967677474748686869C9C9CB4B4B4C9C9C9DBDBDBE9E9E9F4F4F4FAFAFAFD
      FDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF3F3F3EBEBEBE5E5E5
      E1E1E1E1E1E1E1E1E1E1E1E1DDDEDED1D0CFBAB4B18E8C8D4C6F872F739A3F5E
      6D50494657504D61605F7171718585859C9C9CB3B3B3C9C9C9DBDBDBE9E9E9F3
      F3F3FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF2F2F2E3E3E3CFCFCFC1C1C1
      BABABAB9B9B9B8B8B8B8B8B8B7B6B5A6A7A96A8CA02E84AA0F85BB0592DB05A5
      EE1D7DAA3A55634C4542564E4A605F5F7171718585859C9C9CB4B4B4C9C9C9DA
      DADAE9E9E9F4F4F4FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      DAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9E9E9E9CECECEADADAD959595
      888888858585868686868686898582607383128DCD239ACA458CAE1799D700B5
      FF00B5FF04A8F1197DAB3855634C4440554E4C615F5E7171718585859D9D9DB3
      B3B3C9C9C9DBDBDBE9E9E9F3F3F3FAFAFAFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
      B3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F7F7E1E4E4B9BFBF8B9091696E6F
      565B5C5256575357585357585555533D55682291CA7098AA838F9B27A3DD00B6
      FF00B2FC05B0F806BDFF00A7EB1D81AB3A55614B4643564D4A605F5F71717185
      85859C9C9CB3B3B3C9C9C9DCDCDCEAEAEAF5F5F5FBFBFBFEFEFEFFFFFFFFFFFF
      85FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F8F8E5D8D6C9B1ADA58F8C8A7571
      7C666378635F7964607965607F645C5B63702992C67E9CA883919E25A5DC00BB
      FF00B5FB13A3D995D7DD2ECBFF00B8FF04ACF01E80A83956634D4440554F4C60
      5F5E7171718585859D9D9DB6B6B6CECECEE4E4E4F3F3F3FCFCFCFFFFFFFFFFFF
      5EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F9FAF3C6BFFEA89AFCAD9FFBAE9F
      FBB0A0FBB1A0FBB2A0FBB4A1FFB8A1BA9DA0339BCC7B9EAA83929F25A7DD00BF
      FF00B9FD0DA3D7D8E8CFD8F5E327C5FC00B8FF00BEFF06ACEB1D84AC3955604B
      4643554D49605E5E7172728B8B8BABABABCDCDCDE8E8E8F8F8F8FFFFFFFFFFFF
      43FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F9FAF3C7BFFFAB9AFFB2A1FFB7A5
      FFBBA8FFBCA8FFBDA8FFBFA9FFC4A9C0A4A633A0D07FA4B08796A425ABE000C5
      FF00BFFF0BA8DCCBDCC8FFF0C3CCE3D527C6FB00B8FF00BEFF00BEFF04ADF01E
      81A83956624C4441564F4C6B6A698C8C8CB6B6B6DCDCDCF4F4F4FFFFFFFFFFFF
      A8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F9FAF3C9C0FFAE9BFFB5A4EAA998
      D89E8FD9A090DBA292DDA593E5AB95A590922D90B97495A17A8998209DCD00B5
      EE00B3ED03A8D9C7D7C3FFDBAFFFD8AFCFE1D429C8FC00BBFF00BCFF00BCFF00
      BEFF05ACED1D81AB3B56625A54527A7978A7A8A8D4D4D4F1F1F1FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F9FAF3CAC0FFB19DFFBAA7BC8E80
      A48970BAA17EBCA181BFA384C9A887AA9D8872A0A098A5979B9F946BABB254BA
      C854BACA58BECFD8DBC0FED5AAFBCDA5FFD6AECDE1D729CBFD00BDFF00BDFF00
      BAFF00BCFF00BCFF06AAED2582AA6C6F71A3A1A0D0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F9FAF3CBC1FFB49EFFBCA7B88D7E
      C9B783FFF0A6FCE5AAFCE5ADFCE6AEFEE7B0FFE7B0FFE7B2FFE7B4FFE6B3FFE4
      B4FFE3B4FFE2B5FCDAB0FBD2A9FACEA5FBCCA5FFD6AFCFE2D927CCFD00BEFF00
      BEFF00BCFF00BAFF00BFFF04A6E95E6E75A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F8FAF3CDC2FFB7A0FFBFA8B9917F
      CBB786FFE9ADFDDFAFFDE1B1FCE2B1FDE3B2FDE3B2FDE3B2FDE2B1FEE0B0FEDE
      AFFEDCAEFDD9ADFBD6ABFBD2A8FACFA6FACDA5FBCBA4FFD5B0CFE2DB29CDFF00
      BFFF00BFFF00BCFF00BDFF07A6E45F6F75A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F8FAF3CEC2FFBAA1FFC2A9BC9481
      CCB787FFE8AFFCE0B1FCE3B3FCE4B3FCE5B4FCE5B4FCE4B4FCE3B2FCE1B1FCDE
      AFFCDDAEFBDAADFBD7ABFBD4A9FBD1A7FACEA5FACBA3FACAA3FFD3B0CDE0DC26
      CCFD00BFFF00BFFF00BFFF07A8E45F6F75A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F8FAF3D0C3FFBCA2FFC4AABC9682
      CCB988FFEBB0FCE3B3FDE5B5FDE7B5FDE8B6FDE8B6FDE7B6FDE7B4FDE4B3FCE1
      B1FCDFB0FCDCAEFBD8ACFBD5AAFBD3A8FACFA7FACCA4FAC9A1FAC7A1FFD4B3D4
      E9EA2BCEFF00BFFF00C2FF07AAE45F6F75A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      EAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F8FAF3D1C3FFBFA3FFC7ABBB9782
      CAB988FFECB1FDE5B4FDE8B6FDEAB7FDECB8FDECB8FDEBB7FDE9B6FDE7B5FCE3
      B2FCE0B1FCDDAFFBDAADFBD6ABFBD4A9FBD0A7FACDA5FAC9A2F9C7A1FFD1B0F1
      EDE63CD5FF00C2FF00C4FF07ABE45F6F75A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F8FAF3D2C4FFC2A4FFC9ACC09B85
      CEBC8AFFEBB1FDE7B5FDEAB7FDEDB9FEEFBAFEEFBAFDEEBAFDEBB8FDE8B6FCE4
      B4FCE1B1FCDEAFFCDBADFBD7ABFBD5A9FBD1A8FACDA5FACAA4FFD1ACE8E1D146
      D7F900C8FF00C6FF00C7FF07AEE45F7075A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F7FAF3D4C4FFC3A5FFCCADBD9B84
      CDBC89FFEEB1FDE8B5FDEBB8FDEEB9FEF2BCFFF2BCFEF0BAFDECB8FDE9B6FCE5
      B4FCE2B2FCDFB0FCDBADFBD8ABFBD4A9FBD1A8FACEA6FFD3ADECE3D147DCFA00
      CDFF00CBFF00C8FF00C9FF07AFE45F7075A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F7FAF2D4C4FFC5A6FFCEAEBF9F88
      D0C189FFF4ACFFEDB1FFEFB5FFF3B7FFF8BBFFF6B9FFF2B8FFF1B9FFEEB6FFE9
      B5FFE7B4FFE5B4FFDFB2FBD9ADFBD4A9FBD1A8FFD6AEE9E6CF45E0F900D2FF00
      D0FF00CEFF00CAFF00CBFF07B0E45F7075A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F7FAF0D4C4FDC6A5FFCEAEE1BB9D
      DAC295E9D69CE8D59FE9D7A3E4D29EBDBB97A1DBC5D6E7C8D4D7C192E0D27CF3
      E182EFE187E9DCE3E7C3FEDBAEFBD4AAFFD8AFEAE7CD48E4F700D9FF00D6FF00
      D2FF00D0FF00CCFF00CDFF07B2E45F7075A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F7FAEED3C3F9C5A4FDCEACEDC5A5
      DFBD9FDFBFA0DFC1A0E1C6A2E7C79E858D8836BFD5B1DADDCECDD75AD3EB03EA
      FD00F0FF00E4F5C6E8CCFFDEB1FFDAB0EBE8CB47E8F600DEFF00DBFF00D8FF00
      D4FF00D0FF00CDFF00CEFF07B2E45F6F75A5A19FD0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F8FAECD2C2F4C3A2F9CDABEBC5A4
      E0BF9FE1C1A1E0C4A2E3C8A4F5D4A67E8E8B16BFDA86EAF0E7EEEDECE6E9AAE2
      ED46E1F20AE4F1C4EDD2FFEABFE8ECCC45EBF500E3FF00E0FF00DDFF00D9FF00
      D6FF00D2FF00CEFF00CFFF07B4E45F7075A5A09FD0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F8FAE8D1C1EEC0A0F6CCAAE1BFA0
      D2B597D4BA9AD5BC9BD5BF9DF6D7AA98A4901FA0BD1ACFEA48E4F2A1F0F2EDEC
      EBEFE6E9A4DBE3E3F2D6E3F9D93AF1F700E9FF00E5FF00E1FF00DEFF00DAFF00
      D6FF00D2FF00CFFF00D0FF07B5E5607176A5A09FD0D0D0EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F8FBE4CFC0E7BC9DF0C9A8E1C0A0
      D6BA9BD9BF9EDCC3A0DBC5A1FFE2B2B8C6AC34B5CF2AB7D91BB4D317CCE443E6
      F29AEEF3E4EDECFFF9DDCBEEE842DFF507E5FC00E6FF00E3FF00DEFF00DBFF00
      D7FF00D3FF00CFFF00CFFF08B5E566777CAAA6A4D2D2D2EFEFEFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FBFDE1CDBFDEB799EAC6A5DDBE9E
      D3B99AD8BE9DDAC3A0DCC7A1FEE3B2B7C8AD41CFE73FE4FC3ACCE92DB4D316B4
      D41AC9E146E3F091EEF3DDEDF0F3E8EAAEE2ED4BDDF309DEFC00DDFF00DCFF00
      D7FF00D3FF00CFFF00CFFF0AB8E876878CB9B4B3D9D9D9F2F2F2FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFEFFDCCABED4B094E5C3A4D0B599
      C1AA8FC6B193C8B695CBB997F9E0B0B7C9AD48D3E64CF0FF47EAFF3DE1FF30CA
      EC37ACC363A9A54DD1D642DFF08FECF7E3ECEEF3ECEEADDFEB4BDAF508D7FB00
      D6FF00D3FF00CFFF00CEFF0DBBEB8E9FA4CEC9C8E2E2E2F5F5F5FFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4C6BCBD9E88C6A990AD957E
      B59E84CEB798D0BD9BD4C19EF8E3B1B1C8AC43CBDC4CE6F545DEF53CDAF531D7
      F83AC2DBA7BC9EDFCE9F7AB0A809C1E132DAF28DE3F0DFF0F4F0E9EBAFE1EF4C
      D4F30AD1FD00CFFF00CDFF11BEEEA9BABFE8E2E1EFEFEFF9F9F9FFFFFFFFFFFF
      F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCDC2B7A08B75A08F7C988B7A
      AA9D8DC6B49AC6B495CAB998F2DCAECFD8B490C1B09BC8B39ACAB39ACBB499CC
      B591C8B3CFE3B9FFFABDE1C9A04193AA06B4D31FABC238C6E186E3F5DDEDF2F3
      EFF0A4DCED3FC8EC03C3F80BC0F4BCCED3FAF5F4F9F9F9FCFCFCFFFFFFFFFFFF
      F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8E2DBCEBA9CE2D0AEEEE3C9
      F8F3E3F1DFC4EBD1A8F2DDB2F4E1B3FDEAB7FFF3BAFFF8BCFFFBBEFFFEBFFFFF
      C0FFFFC0FFFAC0FFF7BFFDEBB68E9C9C3CB0CE26B4CF1AA1BB19A6C434C3E586
      DEF689DDF5B3C5CC8AC2D44BB5D6CEDEE3FFFEFEFEFEFEFEFEFEFFFFFFFFFFFF
      F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECE5DBDEC7A7F4E0BC
      FFF6DCE7D6BBDEC6A2E8D4ABEFDCAFF4E3B3F9EAB8FCF1BBFEF6BDFEF7BEFEF9
      BFFEF8BFFEF6BEFFF5BDF7EAB8BEB6A9B9BABFA1D6E45BCDEA25B1D2179DBE17
      A4C912BEEFC6DBE0F2E4E0E8E8E9F7F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      C9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8E1D9DAC3A3
      F2DFBCDDCBAED3BD9DE1CCA6E8D5ACEFDDB0F4E4B4F8ECB8FCF1BAFEF4BCFEF5
      BDFEF4BDFEF3BCFFF1BBFAEBBAD6D2C7DAD9DAF6EEECF4F5F6B9EAF95DCEEF21
      AAD10FB0DFD8EEF5FEF7F6FEFBFAFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      D1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E1D8
      DEC7A7C9B597C1AD91D3BF9CDFCBA3E7D4A8EDDCACF3E3B0F7EAB4FCEFB7FEF0
      B8FEF0B9FEEFB8FFEDB6FCEAB9EDE8DDEDEFF2F7F7F7FFFEFDFFFFFFF8FBFDB4
      E8F967D2F5E8F7FDFFFFFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      EAE2D9C3B3A0C5B6A3D6C7AEE0D0B5E7D9BAEDE0BFF2E5C2F6E9C5F9EDC7FCF0
      C9FDF1CAFDF1CBFDEFC9FDEFCCFAF7EFFBFCFEFDFDFDFEFEFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFF6F5F3F8F6F3FAF8F5FBF9F7FCFAF8FDFBF8FDFCF9FDFCF9FDFCF9FEFD
      FAFEFDFAFEFDFAFEFDFAFEFEFBFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      FFFF}
  end
  object Label1: TLabel
    Left = 58
    Top = 72
    Width = 245
    Height = 13
    Caption = 'eFax Distributor was Unable to find a Matching Rule'
  end
  object MSButton1: tMSButton
    Left = 18
    Top = 97
    Width = 315
    Height = 25
    Caption = 'Replace the file for Later Processing'
    DoubleBuffered = True
    ModalResult = 1
    ParentDoubleBuffered = False
    TabOrder = 0
    DoBrowse = False
    BrowseStyle = fbOpen
  end
  object MSButton2: tMSButton
    Left = 18
    Top = 128
    Width = 315
    Height = 25
    Caption = 'Process the file with the Manual Processor'
    DoubleBuffered = True
    ModalResult = 3
    ParentDoubleBuffered = False
    TabOrder = 1
    DoBrowse = False
    BrowseStyle = fbOpen
  end
  object MSButton3: tMSButton
    Left = 18
    Top = 159
    Width = 315
    Height = 25
    Caption = 'Delete the File'
    DoubleBuffered = True
    ModalResult = 4
    ParentDoubleBuffered = False
    TabOrder = 2
    DoBrowse = False
    BrowseStyle = fbOpen
  end
  object MSButton4: tMSButton
    Left = 18
    Top = 190
    Width = 315
    Height = 25
    Caption = 'Place the File on the Desktop'
    DoubleBuffered = True
    ModalResult = 5
    ParentDoubleBuffered = False
    TabOrder = 3
    DoBrowse = False
    BrowseStyle = fbOpen
  end
end
EndDialog>FailedDialog

IfFileExists>%SYS_DIR%\java.exe
Let>javainstalled=yes
Else
Let>javainstalled=no
Endif
If>javainstalled=no
MDL>This Program requires Java - it can be downloaded at http://www.java.com
Ask>Would you like to download Java now?,dj
If>dj=YES
ExecuteFile>Http:\\www.java.com
Exit>0
ELSE
MDL>The program cannot be run without Java - Setup will now exit.
Exit>0
Endif
Endif
C:\ProgramData\edocfile\eFax Distributor\temp\Rules

GetFileList>%tmpfolder%\*.txt,files
Separate>files,;,file_names
If>%file_names_count%=0
Exit>0
Endif
Let>k=0
Repeat>k

               Let>k=k+1
               Let>pdfname=file_names_%k%
               Let>rule_processed=NO
               GoSub>Process_the_file
               If>%Replace%=NO            
               DeleteFile>%MF%\%fname%
               Endif
               DeleteFile>%pdfname%
               DeleteFile>%tmpfolder%\%pdftodelete%
               Until>k,file_names_count
Exit>0


SRT>Process_the_file
ReadLn>%pdfname%,1,fname
Let>pdftodelete=%fname%
ReadLn>%pdfname%,2,Rule
If>%Rule%=
CopyFile>%settinsdir%\temp\Rules\%fname%,%settinsdir%\no_rule_temp
Goto>Done_with_file
Endif

Let>Replace=NO
ReadFile>%settinsdir%\Fax Rules.csv,ruletext
RegEx>Rule,ruletext,1,matches,num,0


If>num=0
MDL>A matching rule cannot be found. The file will be placed back in the input folder to be processed again. 
Let>Replace=YES
CopyFile>%tmpfolder%\%pdftodelete%,%MF%

/*
Show>FailedDialog,r

If>r=1
Goto>put_in_monitor_folder
Endif

If>r=2,
Goto>Done_with_file
Endif

If>r=3
Goto>use_manual_processing
Endif

If>r=4
Goto>delete_the_file
Endif

If>r=5
Goto>Place_on_Desktop
Endif


Label>put_in_monitor_folder
  CopyFile>%tmpfolder%\%pdftodelete%,%MF%
GoTo>Done_with_file

Label>use_manual_processing
  CopyFile>%tmpfolder%\%pdftodelete%,%settinsdir%\no_rule_temp
GoTo>Done_with_file

Label>delete_the_file
  DeleteFile>%tmpfolder%\%pdftodelete%
GoTo>Done_with_file

Label>Place_on_Desktop
  CopyFile>%tmpfolder%\%pdftodelete%,DESKTOP_DIR
*/
 
GoTo>Done_with_file

Endif


CSVFileToArray>%settinsdir%\Fax Rules.csv,csvData
Let>rc=csvData_count
Let>line=
Let>z=0
Repeat>z
    Let>z=z+1
    Let>vr=csvData_%z%_0
    If>%vr%=%Rule%
    GoSub>HaveRule
    Endif
Until>z,rc
//If it made it here no rule was matched
Label>Done_with_file
END>Process_the_file

SRT>HaveRule
Let>rule_processed=YES

Let>Type=csvData_%z%_1
Let>emailopt=csvData_%z%_3
Let>Delivery=csvData_%z%_2

//Check for email
//Check for Folder
//check for Printer

Let>pattern=[EmailAddress]
Let>IGNOREERRORS=1
RegEx>pattern,Delivery,1,matches,num,0
Let>IGNOREERRORS=0
IF>num>0
Let>emailAdd=%Delivery%
Else
Let>emailAdd=
Endif

Let>IGNOREERRORS=1
RegEx>Delivery,printerlist,1,matches,num,0
Let>IGNOREERRORS=0
IF>num>0
Let>printer=%Delivery%
Else
Let>printer=
Endif

Let>Pattern=[a-zA-Z]\:\\.*|^\\\\.*
Let>IGNOREERRORS=1
RegEx>Pattern,%Delivery%,0,matches,num,0
Let>IGNOREERRORS=0
If>%num%=1
Let>folder=%Delivery%
Else
Let>folder=
Endif

/*
ReadLn>%pdfname%,2,emailAdd
ReadLn>%pdfname%,3,emailopt
ReadLn>%pdfname%,4,folder
ReadLn>%pdfname%,5,printer
ReadLn>%pdfname%,6,splitmail
ReadLn>%pdfname%,7,Type
*/

Let>fname=%tmpfolder%\%fname%

               If>%AF%=
               Goto>SkipArchive
               CopyFile>%fname%,%AF%\
               Label>SkipArchive
               Endif
               
               If>%SF%=
               Goto>skipstandard
               Endif
               
               If>%Type%=Standard
               CopyFile>%fname%,%SF%\
               Endif
               Label>skipstandard
               Endif

Let>Mailto=
Let>pattern=[EmailAddress]
RegEx>pattern,emailAdd,1,matches,num,0
If>%num%=0,Skip_send_Mail

If>%num%>0
Let>c=0
Let>Mailto=-to 
Repeat>c
If>%c%>0
Let>Mailto=%Mailto%,

Endif
  let>c=c+1
  let>efound=matches_%c%
  Let>Mailto=%Mailto%%efound%
Until>c=%num%
Endif
GoSub>Send_email

Label>Skip_send_Mail

Length>%printer%,tl
If>tl>0
    RegEx>%printer%,%printerlist%,0,matches,num,0
    If>%num%=1
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
    ChangeDirectory>%ProgramFolder%
    RunProgram>cmd /C Printpdf.exe "%tmpfolder%\%pdftodelete%" "%printer%"
    Endif
Endif

    Length>%folder%,tl
    If>tl>0
    Let>Pattern=[a-zA-Z]\:\\.*|^\\\\.*
    RegEx>Pattern,%folder%,0,matches,num,0
    If>%num%=1
    IfDirExists>%folder%,havefld
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
    RunProgram>cmd /c MD "%folder%"
    CopyFile>%tmpfolder%\%fname%,%folder%
    Label>havefld
    Else
    MDL>A non Valid Path has been entered for a Folder destination. The file will be placed back in the queue for processing.
    CopyFile>%tmpfolder%\%fname%,%MF%
    Endif
Endif

Label>End_of_Processing_the_file
END>HaveRule

SRT>Send_email


  Let>imagename= -attachment "%tmpfolder%\%pdftodelete%"
  let>EMB=-textfile "%settinsdir%\mail\temp_mail_body.txt"
//  let>EMB=-textfile "%BT%"
  Let>DS=-subject "%SL%"
//  Let>Mailto=-to %emailAdd%

DeleteFile>%TEMP_DIR%temp.txt
Position>OCR,%emailopt%,1,at
If>%at%>1

    ChangeDirectory>%ProgramFolder%
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
    RunProgram>cmd /c extractpdf.exe -f2 "%tmpfolder%\%pdftodelete%" "%TEMP_DIR%temp.txt"

    IfFileExists>%TEMP_DIR%temp.txt
    ReadFile>%TEMP_DIR%temp.txt,text_to_Process
    Else
    Let>text_to_Process=Could not extract any text from the file
    Endif
Endif


If>%emailopt%=Note
    If>%autreq%=True
    DeleteFile>%settinsdir%\mail\temp_mail_body.txt
    ReadFile>%BT%,embt
    WriteLn>%settinsdir%\mail\temp_mail_body.txt,result,<p>%embt%</p>
    ChangeDirectory>%settinsdir%\mail
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
    RunProgram>cmd /c mimesender.exe %MS% %PT% -auth %UID% %Pass% %frad% %Mailto% %DS% %EMB% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% regarding "%ftdelete%" with %jname% rules
    Else
    RunProgram>cmd /c mimesender.exe %MS% %PT% %UID% %Pass% %frad% %Mailto% %DS% %EMB% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% regarding "%ftdelete%" with %jname% rules
    Endif
Endif

If>%emailopt%=Note with OCR Text
    If>%autreq%=True
    DeleteFile>%settinsdir%\mail\temp_mail_body.txt
    ReadFile>%BT%,embt
    WriteLn>%settinsdir%\mail\temp_mail_body.txt,result,<p>%embt%</p><p>%text_to_Process%</p>
    ChangeDirectory>%settinsdir%\mail
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
    RunProgram>cmd /c mimesender.exe %MS% %PT% -auth %UID% %Pass% %frad% %Mailto% %DS% %EMB% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% regarding "%ftdelete%" with %jname% rules
    Else
    RunProgram>cmd /c mimesender.exe %MS% %PT% %UID% %Pass% %frad% %Mailto% %DS% %EMB% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% regarding "%ftdelete%" with %jname% rules
    Endif
Endif


If>%emailopt%=Link to Folder
//Create the link
DeleteFile>%settinsdir%\mail\temp_mail_body.txt
WriteLn>%settinsdir%\mail\temp_mail_body.txt,result,<p><a>Link to your facsimile</a></p>
ReadFile>%BT%,bodytxt
WriteLn>%settinsdir%\mail\temp_mail_body.txt,result,<p>%bodytxt%</p>
Let>EMB=-textfile "%settinsdir%\mail\temp_mail_body.txt"

    If>%autreq%=True
    ChangeDirectory>%settinsdir%\mail
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
    RunProgram>cmd /c mimesender.exe %MS% %PT% -auth %UID% %Pass% %frad% %Mailto% %DS% %EMB% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% regarding "%ftdelete%" with %jname% rules
    Else
    RunProgram>cmd /c mimesender.exe %MS% %PT% %UID% %Pass% %frad% %Mailto% %DS% %EMB% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% regarding "%ftdelete%" with %jname% rules
    Endif
Endif

If>%emailopt%=Link to Folder with OCR Text
//Create the link
DeleteFile>%settinsdir%\mail\temp_mail_body.txt
WriteLn>%settinsdir%\mail\temp_mail_body.txt,result,<p><a>Link to your facsimile</a></p>
ReadFile>%BT%,bodytxt
WriteLn>%settinsdir%\mail\temp_mail_body.txt,result,<p>%bodytxt%</p><p>%text_to_Process%</p>
Let>EMB=-textfile "%settinsdir%\mail\temp_mail_body.txt"

    If>%autreq%=True
    ChangeDirectory>%settinsdir%\mail
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
    RunProgram>cmd /c mimesender.exe %MS% %PT% -auth %UID% %Pass% %frad% %Mailto% %DS% %EMB% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% regarding "%ftdelete%" with %jname% rules
    Else
    RunProgram>cmd /c mimesender.exe %MS% %PT% %UID% %Pass% %frad% %Mailto% %DS% %EMB% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% regarding "%ftdelete%" with %jname% rules
    Endif
Endif


If>%emailopt%=Attachment
    If>%autreq%=True
    ChangeDirectory>%settinsdir%\mail
    DeleteFile>%settinsdir%\mail\temp_mail_body.txt
    ReadFile>%BT%,embt
    WriteLn>%settinsdir%\mail\temp_mail_body.txt,result,<p>%embt%</p>
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
//    MDL> mimesender.exe %MS% %PT% -auth %UID% %Pass% %frad% %Mailto% %DS% %EMB% %imagename% -debug
    RunProgram>cmd /c mimesender.exe %MS% %PT% -auth %UID% %Pass% %frad% %Mailto% %DS% %EMB% %imagename% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% with attachment "%ftdelete%" as it passed with %jname% rules
    Else
    RunProgram>cmd /c mimesender.exe %MS% %PT% %UID% %Pass% %frad% %Mailto% %DS% %EMB% %imagename% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% with attachment "%ftdelete%" as it passed with %jname% rules
    Endif
Endif

If>%emailopt%=Attachment with OCR Text
    If>%autreq%=True
    ChangeDirectory>%settinsdir%\mail
    DeleteFile>%settinsdir%\mail\temp_mail_body.txt
    ReadFile>%BT%,embt
    WriteLn>%settinsdir%\mail\temp_mail_body.txt,result,<p>%embt%</p><p>%text_to_Process%</p>
    Let>RP_WAIT=1
    Let>RP_WINDOWMODE=0
//    MDL> mimesender.exe %MS% %PT% -auth %UID% %Pass% %frad% %Mailto% %DS% %EMB% %imagename% -debug
    RunProgram>cmd /c mimesender.exe %MS% %PT% -auth %UID% %Pass% %frad% %Mailto% %DS% %EMB% %imagename% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% with attachment "%ftdelete%" as it passed with %jname% rules
    Else
    RunProgram>cmd /c mimesender.exe %MS% %PT% %UID% %Pass% %frad% %Mailto% %DS% %EMB% %imagename% -debug
//    DateStamp>%settinsdir%\logs\Log.txt,Sent Notice to %Destination% with attachment "%ftdelete%" as it passed with %jname% rules
    Endif
Endif

END>Send_email


Post Reply
cron
Sign up to our newsletter for free automation tips, tricks & discounts