.NET Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
 
User Name:
Password:
Remember me
Go Back   ASP Free ForumsProgramming.NET Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread ASP Free Forums Sponsor:
  #1  
Old July 1st, 2009, 04:58 AM
SWVermeulen SWVermeulen is offline
Registered User
ASP Free Newbie (0 - 499 posts)
 
Join Date: Jul 2009
Location: netherlands
Posts: 1 SWVermeulen User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 16 m 44 sec
Reputation Power: 0
Windows Forms/VB.Net - Unable to find what triggers System.NullReferenceException

I have a program that will print dwg and idw drawings to different printers.
from our drawing vault we kan use a plotbutton which creates a pcf-file (text file) and copies the drawing to a specific location.

the program reads the pcf file which contains the max printsize for the drawing, who is printing it, nr of copies, location of the drawing.
all data is written to or read from a small database. as long as there are drawings the printing goes fine, they are listed in a datagridview on the form.
As soon as the last record is removed from the datagridview I get the following error:
An unhandled exception of type 'System.NullReferenceException' occurred in System.Windows.Forms.dll
Additional information: Object reference not set to an instance of an object.

but I haven't succeeded to find what is causing this problem.
because if a step through the program it doesn't give the error, if I put a msgbox in the if statement that is deleting the last row it also doesn't give the error.

could someone please help me solve this problem.

here is the text from my form

Code:
      Public Class FormPrintTable
          Public drwsize, rotation, styletable, printlocation, size1, filepcfarray(), status As String
          Private Sub PrintTable_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
              'TODO: This line of code loads data into the 'DsPrintserver.T_PrintTable' table. You can move, or remove it, as needed.
              Me.taT_PrintTable.Fill(Me.DsPrintserver.T_PrintTab  le)
              Do While Me.bsT_PrintTable.Count > 0
                  Me.bsT_PrintTable.RemoveCurrent()
                  Me.bsT_PrintTable.EndEdit()
                  Me.taT_PrintTable.Update(Me.DsPrintserver.T_PrintT  able)
              Loop
              tsslCount.Text = "Record count: " & Me.bsT_PrintTable.Count 'Me.dgvT_PrintTable.RowCount
              If Not (My.Computer.FileSystem.DirectoryExists(My.Setting  s.DrawingPath)) Or My.Settings.DrawingPath = Nothing Then
                  MsgBox("There was no valid drawing directory, settings will be opened", MsgBoxStyle.Information, "drawing directory")
                  FormSettings.ShowDialog()
              End If
          End Sub
          Private Sub tsbStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbStart.Click
              tsbStart.Enabled = False
              Me.Refresh()
              bgwPlotList.RunWorkerAsync()
          End Sub
          Private Sub bgwPlotList_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgwPlotList.DoWork
              Try
                  Me.taT_PrintTable.Update(Me.DsPrintserver.T_PrintT  able)
              Catch ex As Exception
              End Try
              '----------------------------------------------------------------------------------------------
              '                                      Fill PlotDataTable
              '----------------------------------------------------------------------------------------------
              'Extract the nesscesary information to print drawings from the "*.pcf" file.
              'The "*.pcf" files are created by Meridian
              Dim filepcfarray() As String
              Dim PathDrawing, PathPCF, Name, Priority, Drawing_id, Copies, Printsize As String

              If My.Computer.FileSystem.DirectoryExists(My.Settings  .DrawingPath) = True Then              ' check if directory exists
                  filepcfarray = Directory.GetFiles(My.Settings.DrawingPath, "*pcf")                      ' list al "*.pcf" files in array
                  If filepcfarray.Length() > 0 Then
                      For teller As Integer = 0 To filepcfarray.Length() - 1
                          PathPCF = My.Computer.FileSystem.GetFileInfo(filepcfarray(te  ller)).FullName
                          Try
                              FileOpen(1, filepcfarray(teller), OpenMode.Input)                           ' open "*.pcf" file
                          Catch ex As Exception
                              Continue For
                          End Try
                          Dim i As Integer = 0
                          '*****************Extract data from "*.PCF" File******************
                          Do While Not EOF(1)                                                             ' read "*.pcf" file
                              Dim Line As String = LineInput(1)
                              If Line.ToLower.StartsWith("filename") Or Line.ToLower.StartsWith("user") Or _
                                 Line.ToLower.StartsWith("priority") Or Line.ToLower.StartsWith("primkey") Or _
                                 Line.ToLower.StartsWith("numberofcopies") Or Line.ToLower.StartsWith("maxsize") Then
                                  Select Case Line.ToLower.Split("=")(0)
                                      Case "filename"
                                          PathDrawing = Line.ToLower.Split("=")(1)
                                          Dim brandmal As Boolean = False
                                          Try
                                              If PathDrawing.ToLower.Split("-").Length > 1 And Microsoft.VisualBasic.Left(PathDrawing.ToLower.Spl  it("-")(3), 1) = "b" Then
                                                  brandmal = True
                                              End If
                                          Catch
                                          End Try
                                          If My.Computer.FileSystem.FileExists(PathDrawing) = False Or My.Computer.FileSystem.GetFileInfo(PathDrawing).Le  ngth = 0 Or brandmal = True Or (PathDrawing.ToLower.Split(".")(1) <> "dwg" And PathDrawing.ToLower.Split(".")(1) <> "idw") Then
                                              FileClose(1)
                                              If Microsoft.VisualBasic.Left(PathPCF.ToLower.Split("\")(PathPCF.ToLower.Split("\").Length - 1), 2) <> "pt" Then
                                                  My.Computer.FileSystem.DeleteFile(PathDrawing)
                                              End If
                                              My.Computer.FileSystem.DeleteFile(PathPCF)
                                              PathDrawing = Nothing
                                              Continue For
                                          End If
                                      Case "user"
                                          Name = Line.ToLower.Split("=")(1)
                                      Case "priority"
                                          Priority = Line.ToLower.Split("=")(1)
                                      Case "primkey"
                                          Drawing_id = Line.ToLower.Split("=")(1)
                                      Case "numberofcopies"
                                          Copies = Line.ToLower.Split("=")(1)
                                      Case "maxsize"
                                          Printsize = Line.ToLower.Split("=")(1)
                                  End Select
                              End If
                          Loop
                          '*************************************************  *******************
                          FileClose(1)
                          If PathDrawing > Nothing Then
                              '****************************put data in database***********************
                              Try
                                  Me.taT_PrintTable.Update(Me.DsPrintserver.T_PrintT  able)
                                  Me.taT_PrintTable.Insert(PathDrawing, PathPCF, "waiting", Name, Priority, Drawing_id, Copies, Printsize)
                                  If Me.InvokeRequired Then
                                      Dim frmRefresh As New RefreshForm(AddressOf FormRefresh)
                                      Me.Invoke(frmRefresh)
                                  Else
                                      FormRefresh()
                                  End If
                              Catch ex As Exception
                              End Try
                              '*************************************************  ***********************
                              '****************start printing drawings*********************************
                              ' MsgBox(Me.dgvT_PrintTable.Rows.Count)
                              If Me.dgvT_PrintTable.Rows.Count > 0 Then
                                  Try
                                      status = Me.dgvT_PrintTable.Item("dgvcStatus", 0).Value
                                  Catch ex As Exception
                                      MsgBox("status error")
                                  End Try
                                  ' MsgBox(Me.dgvT_PrintTable.Rows.Count)
                                  'MsgBox(status)
                                  If status = "waiting" And bgwAcadInv.IsBusy = False Then
                                      Me.DsPrintserver.T_PrintTable.Rows(0).Item("Status") = "printing"
                                      Try
                                          Me.taT_PrintTable.Update(Me.DsPrintserver.T_PrintT  able)
                                      Catch ex As Exception
                                      End Try
                                      bgwAcadInv.RunWorkerAsync()
                                  ElseIf status = "printed" Then
                                      Try
                                          My.Computer.FileSystem.DeleteFile(Me.DsPrintserver  .T_PrintTable.Rows(0).Item(1).ToString)  ' delete PCF File
                                      Catch
                                      End Try
                                      If Microsoft.VisualBasic.Left(Me.DsPrintserver.T_Prin  tTable.Rows(0).Item(1).split("\")(Me.DsPrintserver.T_PrintTable.Rows(0).Item(1).sp  lit("\").length - 1), 2) <> "PT" Then 'als het geen ISAH pcf is
                                          Try
                                              My.Computer.FileSystem.DeleteFile(Me.DsPrintserver  .T_PrintTable.Rows(0).Item(0)) 'verwijderen dwg file
                                          Catch
                                          End Try
                                      End If
                                      Me.dgvT_PrintTable.Rows.RemoveAt(0)
                                      Me.bsT_PrintTable.RemoveAt(0)
                                      Me.bsT_PrintTable.EndEdit()
                                      Try
                                          Me.taT_PrintTable.Update(Me.DsPrintserver.T_PrintT  able)
                                      Catch ex As Exception
                                      End Try
                                      If Me.InvokeRequired Then
                                          Try
                                              Dim frmRefresh As New RefreshForm(AddressOf FormRefresh)
                                              Me.Invoke(frmRefresh)
                                          Catch ex As Exception
                                          End Try
                                      Else
                                          FormRefresh()
                                      End If
                                  End If

                              End If
                              '*************************************************  ***********************
                          End If
                      Next
                  End If
              End If
              'Thread.Sleep(5000)
          End Sub
          Private Sub bgwPlotList_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs)   Handles bgwPlotList.RunWorkerCompleted
              Try
                  FormRefresh()
              Catch ex As Exception
              End Try
              bgwPlotList.RunWorkerAsync()
          End Sub
          Private Sub bgwAcadInv_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgwAcadInv.DoWork
              '----------------------------------------------------------------------------------------------
              '                                      Print drawings
              '----------------------------------------------------------------------------------------------
              Dim EntryObjectName, EntryName As String
              'Select Case Me.DsPrintserver.T_PrintTable.Rows(0).Item("Pathdrawing").ToString.ToLower.Split(".")(1)
              Dim EXT As String
      rtEXT:  Try
                  EXT = Me.dgvT_PrintTable.Item("dgvcPathDrawing", 0).Value.ToString.ToLower.Split(".")(1)
              Catch ex As Exception
                  GoTo rtEXT
              End Try
              Select Case EXT
                  Case "dwg"      'determine what the drawingsize is of the printed acad drawing
      OpenTryA:       Try
                          'Acad.Documents.Open(Me.DsPrintserver.T_PrintTable  .Rows(0).Item("Pathdrawing").ToString, True) 'openen autocad tekeningen
                          Acad.Documents.Open(Me.dgvT_PrintTable.Item("dgvcPathDrawing", 0).Value.ToString, True) 'openen autocad tekeningen
                          Dim entry As Object
                          For Each entry In Acad.activedocument.ModelSpace
                              EntryObjectName = entry.objectname
                              If EntryObjectName = "AcDbBlockReference" Then
                                  EntryName = entry.name
                                  Select Case EntryName.ToLower
                                      Case "4", "gen_4", "4m", "", "manvatc", "gen_4m", "0-kadernieuw"
                                          drwsize = "4"
                                          Exit For
                                      Case "3", "gen_3"
                                          drwsize = "3"
                                          Exit For
                                      Case "2", "gen_2"
                                          drwsize = "2"
                                          Exit For
                                      Case "1", "gen_1"
                                          drwsize = "1"
                                          Exit For
                                      Case "0", "gen_0"
                                          drwsize = "0"
                                          Exit For
                                          'Case Else
                                          '    drwsize = "4"
                                          '    Exit For
                                  End Select
                              End If
                          Next
                      Catch
                          GoTo OpenTryA
                          ' Exit Try
                      End Try
                  Case "idw"      'determine what the drawingsize is of the printed inventor drawing
                      Invent = CreateObject(My.Settings.Inventorversie) 'maak object en open inventor
                      'Invent.Visible = True
                      Invent.Visible = False
                      Invent.SilentOperation = True
      OpenTryI:       Try
                          Invent.Documents.Open(Me.dgvT_PrintTable.Item("dgvcPathDrawing", 0).Value.ToString, True) 'openen inventor tekeningen
                          Select Case Invent.activedocument.activesheet.size
                              Case "9997"
                                  drwsize = "4"
                              Case "9996"
                                  drwsize = "3"
                              Case "9995"
                                  drwsize = "2"
                              Case "9994"
                                  drwsize = "1"
                              Case "9993"
                                  drwsize = "0"
                              Case Else
                                  drwsize = "4"
                          End Select
                      Catch
                          GoTo OpenTryI
                          ' Exit Try
                      End Try
              End Select
              '********************* maximal printsize determend by user*********************
              Dim actualsize As String
              styletable = My.Settings.StyleMonoA4
              Try
                  prnt = Invent.activedocument.printmanager
              Catch
              End Try
              Dim PS As String
      rtPS:   Try
                  PS = Me.dgvT_PrintTable.Item("dgvcPrintSize", 0).Value.ToString
              Catch ex As Exception
                  GoTo rtPS
              End Try
              Select Case PS
                  Case "6"                    '*****Print drawings as PDF A4*****
                      actualsize = "6"
                      styletable = My.Settings.StyleSlim
                      Try
                          prnt.ScaleMode = My.Settings.kPrintBestFitScale
                      Catch
                      End Try
                  Case "5"                    '*****Print drawings as PDF A3*****
                      actualsize = "5"
                      styletable = My.Settings.StyleSlim
                      Try
                          prnt.ScaleMode = My.Settings.kPrintBestFitScale
                      Catch
                      End Try
                  Case "4", "-1"              '*****Print drawings max. papersize A4*****
                      Select Case drwsize
                          Case "4"
                              actualsize = drwsize
                          Case Else
                              actualsize = "4"
                              If drwsize <> "3" Then styletable = My.Settings.StyleMono
                              If drwsize <> "4" Then
                                  Try
                                      prnt.ScaleMode = My.Settings.kPrintBestFitScale
                                  Catch
                                  End Try
                              End If
                      End Select
                  Case "3"                    '*****Print drawings max. papersize A3*****
                      Select Case drwsize
                          Case "4"
                              actualsize = drwsize
                          Case Else
                              actualsize = "3"
                              If drwsize <> "2" And drwsize <> "3" Then styletable = My.Settings.StyleMono
                              If drwsize <> "3" Then
                                  Try
                                      prnt.ScaleMode = My.Settings.kPrintBestFitScale
                                  Catch
                                  End Try
                              End If
                      End Select
                  Case "2"                    '*****Print drawings max. papersize A2*****
                      Select Case drwsize
                          Case "4", "3"
                              actualsize = drwsize
                          Case Else
                              actualsize = "2"
                              If drwsize <> "1" And drwsize <> "2" Then styletable = My.Settings.StyleMono
                              If drwsize <> "2" Then
                                  Try
                                      prnt.ScaleMode = My.Settings.kPrintBestFitScale
                                  Catch
                                  End Try
                              End If
                      End Select
                  Case "1"                    '*****Print drawings max. papersize A1*****
                      Select Case drwsize
                          Case "4", "3", "2"
                              actualsize = drwsize
                          Case Else
                              actualsize = "1"
                              If drwsize <> "1" Then
                                  Try
                                      prnt.ScaleMode = My.Settings.kPrintBestFitScale
                                  Catch
                                  End Try
                              End If
                      End Select
                  Case "0"                    '*****Print drawings max. papersize A0*****
                      Select Case drwsize
                          Case "4", "3", "2", "1"
                              actualsize = drwsize
                          Case Else
                              actualsize = "0"
                      End Select
              End Select
              '*************************************************  *******************************
              '        Dim user As String = Me.DsPrintserver.T_PrintTable.Rows(0).Item("name")                         'is the user from the first row of the table
              Dim user As String
      rtUser: Try
                  Do While user = Nothing
                      user = Me.dgvT_PrintTable.Item("dgvcName", 0).Value                        'is the user from the first row of the table
                  Loop
              Catch ex As Exception
                  GoTo rtUser
              End Try
              Me.taT_Company_Employees.fbT_Company_Employees(Me.  DsPrintserver.T_Company_Employees, user)      'SQL: SELECT DISTINCT Department FROM(T_Company_Employees) WHERE (Name = ?)
              Dim department As String = Me.DsPrintserver.T_Company_Employees.Rows(0).Item(  "Department")      'is the result from previous query
              '------------------------------ determination of printlocation Autocad-------------------------
              Me.taT_printlocation.fbPrintLocation(Me.DsPrintser  ver.T_printlocation, actualsize, department)  'SQL: SELECT DISTINCT PrinterLocation FROM(T_PrintLocation) WHERE (PaperSize = ?) AND (Department = ?)
              printlocation = Me.DsPrintserver.T_printlocation.Rows(0).Item("PrinterLocation")                'is the result from the previous query for the printlocation
              '------------------------------ determination of printlocation Inventor------------------------
              Try
                  prnt.printer = printlocation
              Catch
              End Try
              '------------------------------ determination of Papersize name Autocad -----------------------
              Me.taT_Printer.fbT_Printer(Me.DsPrintserver.T_Prin  ter, printlocation, actualsize)               'SQL: SELECT DISTINCT Sizename, Rotation FROM(T_Printer) WHERE PrinterLocation = ?) AND (PaperSize = ?)
              size1 = Me.DsPrintserver.T_Printer.Rows(0).Item("Sizename")                                     'is the result from the previous query for the sizename
              '------------------------------ determination of Papersize name Inventor-----------------------
              Try
                  If size1.Contains("A4") Then
                      prnt.papersize = My.Settings.kPaperSizeA4
                  ElseIf size1.Contains("A3") Then
                      prnt.papersize = My.Settings.kPaperSizeA3
                  ElseIf size1.Contains("A2") Then
                      prnt.papersize = My.Settings.kPaperSizeA2Oversize
                  ElseIf size1.Contains("A1") Then
                      prnt.papersize = My.Settings.kPaperSizeA1Oversize
                  ElseIf size1.Contains("A0") Then
                      prnt.papersize = My.Settings.kPaperSizeA0Oversize
                  End If
              Catch
              End Try
              '------------------------------ determination of rotation Autocad & Inventor-------------------
              If Me.DsPrintserver.T_Printer.Rows(0).Item("rotation").ToString = Nothing Then                  'uses the result from the query "fbT_Printer" for the rotation
                  ' juiste afdruk rotatie selecteren
                  If (actualsize = 6 And drwsize = 4) Or (actualsize = 5 And drwsize = 4) Or (actualsize = 4 And drwsize = 4) Then
                      rotation = "portrait"
                      Try
                          prnt.orientation = My.Settings.kPortraitOrientation
                      Catch
                      End Try
                  Else
                      rotation = "landscape"
                      Try
                          prnt.orientation = My.Settings.kLandscapeOrientation
                      Catch
                      End Try
                  End If
              ElseIf Me.DsPrintserver.T_Printer.Rows(0).Item("rotation").ToString.ToLower = "portrait" Then
                  rotation = Me.DsPrintserver.T_Printer.Rows(0).Item("rotation")
                  Try
                      prnt.orientation = My.Settings.kPortraitOrientation
                  Catch
                  End Try
              Else
                  rotation = "landscape"
                  Try
                      prnt.orientation = My.Settings.kLandscapeOrientation
                  Catch
                  End Try
              End If
              '*************************Printen*****************  ******************************************
              'Select Case Me.DsPrintserver.T_PrintTable.Rows(0).Item("PathDrawing").ToString.ToLower.Split(".")(1)
              Select Case EXT
                  Case "dwg"
                      For plotcopy As Integer = 1 To Me.DsPrintserver.T_PrintTable.Rows(0).Item("copies")             'print requested copies
      TryPrintA:          Try
                              '-----------------plottext Autocad-------------------------------------------------
                              Acad.Activedocument.SendCommand("cmddia" + Chr(13) + "0" + Chr(13))
                              Acad.Activedocument.SendCommand("filedia" + Chr(13) + "0" + Chr(13))
                              Acad.Activedocument.SendCommand("-plot" + Chr(13) + "Y" + Chr(13) + "model" _
                              + Chr(13) + printlocation + Chr(13) + size1 + Chr(13) + My.Settings.Units + Chr(13) + rotation _
                              + Chr(13) + "n" + Chr(13) + My.Settings.Area + Chr(13) + My.Settings.Scale1 + Chr(13) + My.Settings.Offset + Chr(13) _
                              + My.Settings.Styles + Chr(13) + styletable + Chr(13) + My.Settings.Lineweight + Chr(13) + "n" + Chr(13) + "n" _
                              + Chr(13) + "n" + Chr(13) + "yes" + Chr(13))
                              Acad.Activedocument.SendCommand("cmddia" + Chr(13) + "1" + Chr(13))
                              Acad.Activedocument.SendCommand("filedia" + Chr(13) + "1" + Chr(13))
                          Catch ex As Exception

                              GoTo TryPrintA
                          End Try
                      Next
                      Acad.activedocument.close(False, Me.dgvT_PrintTable.Item("dgvcPathDrawing", 0).Value)     'close autocad drawing
                  Case "idw"
                      For plotcopy As Integer = 1 To Me.DsPrintserver.T_PrintTable.Rows(0).Item("copies")             'print requested copies
      TryPrintI:          Try
                              prnt.SubmitPrint()
                          Catch ex As Exception
                              GoTo TryPrintI
                          End Try
                      Next
                      Invent.activedocument.dirty = False
                      Dim processList() As Process
                      processList = Process.GetProcessesByName("inventor")
                      For Each proc As Process In processList
                          proc.Kill()                                                                                 'kill the process of inventor to close inventor
                      Next
                      'Invent.activedocument.close(True) 'close inventor drawing
                      'Invent.activedocument.close(False) 'close inventor drawing
              End Select
              Try
                  Me.dgvT_PrintTable.Item("dgvcStatus", 0).Value = "printed"
                  Me.DsPrintserver.T_PrintTable.Rows(0).Item("Status") = "printed"
                  Me.taT_PrintTable.Update(Me.DsPrintserver.T_PrintT  able)
              Catch ex As Exception
              End Try
          End Sub
          Private Delegate Sub RefreshForm()
          Private Sub FormRefresh()
              Try
                  Me.taT_PrintTable.Fill(Me.DsPrintserver.T_PrintTab  le)
                  tsslCount.Text = "Record count: " & Me.bsT_PrintTable.Count 'Me.dgvT_PrintTable.RowCount
                  Me.Refresh()
              Catch ex As Exception
              End Try
          End Sub

          Private Sub dgvT_PrintTable_DataError(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewDataErrorEventArg  s) Handles dgvT_PrintTable.DataError
              '        MsgBox("help")
              status = "null"
              e.Cancel = True
          End Sub
      End Class






greetings Simone

Reply With Quote
Reply

Viewing: ASP Free ForumsProgramming.NET Development > Windows Forms/VB.Net - Unable to find what triggers System.NullReferenceException


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump





 Free IT White Papers!
 
How to Present Effectively Online
This white paper offers practical and actionable advice on the key steps that any presenter should consider as they plan and execute a Webinar or online meeting.

 
Open Source Security Myths
Open Source Software (OSS) is computer software whose source code is available to the general public with relaxed or non-existent intellectual property restrictions (or arrangement such as the public domain), and is usually developed with the input of many contributors.

 
Power and Cooling Capacity Management for Data Centers
This paper describes the principles for achieving power and cooling capacity management.

 
Scalable, Fault-Tolerant NAS for Oracle - The Next Generation
For several years NAS has been evolving as a storage alternative for Oracle databases, and for good reason: NAS is quite often the simplest, most cost-effective storage approach for Oracle. Learn about the benefits that HP's approach to scalable NAS brings to Oracle environments in this comprehensive white paper.

 
Understanding Web Application Security Challenges
This white paper discusses many common threats and preventive measures for Web application security, and explains what you can do to help protect your organization.

 

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2009 by Developer Shed. All rights reserved. DS Cluster 5 Hosted by Hostway
Stay green...Green IT