diff --git a/PROMS/DataLoader/frmErrors.Designer.cs b/PROMS/DataLoader/frmErrors.Designer.cs
new file mode 100644
index 00000000..c34448a6
--- /dev/null
+++ b/PROMS/DataLoader/frmErrors.Designer.cs
@@ -0,0 +1,62 @@
+namespace DataLoader
+{
+ partial class frmErrors
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.tbErrors = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // tbErrors
+ //
+ this.tbErrors.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tbErrors.Location = new System.Drawing.Point(0, 0);
+ this.tbErrors.Multiline = true;
+ this.tbErrors.Name = "tbErrors";
+ this.tbErrors.ScrollBars = System.Windows.Forms.ScrollBars.Both;
+ this.tbErrors.Size = new System.Drawing.Size(548, 264);
+ this.tbErrors.TabIndex = 0;
+ //
+ // frmErrors
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(548, 264);
+ this.Controls.Add(this.tbErrors);
+ this.Name = "frmErrors";
+ this.Text = "Data Loader Errors";
+ this.Load += new System.EventHandler(this.frmErrors_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox tbErrors;
+ }
+}
\ No newline at end of file
diff --git a/PROMS/DataLoader/frmErrors.cs b/PROMS/DataLoader/frmErrors.cs
new file mode 100644
index 00000000..55d7794b
--- /dev/null
+++ b/PROMS/DataLoader/frmErrors.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace DataLoader
+{
+ public partial class frmErrors : Form
+ {
+ private Form _MyParent;
+ public frmErrors(Form myParent)
+ {
+ InitializeComponent();
+ _MyParent = myParent;
+ }
+ private List _MyErrors = new List();
+ public List MyErrors
+ {
+ get { return _MyErrors; }
+ }
+ string sep = "";
+ public void Add(string err)
+ {
+ _MyErrors.Add(err);
+ tbErrors.Text += sep + err;
+ tbErrors.SelectionStart = tbErrors.TextLength;
+ sep = "\r\n";
+ Show();
+ Application.DoEvents();
+ }
+ public void Clear()
+ {
+ tbErrors.Text = "";
+ sep = "";
+ Hide();
+ }
+ private void frmErrors_Load(object sender, EventArgs e)
+ {
+ Rectangle rec = Screen.GetWorkingArea(this);
+ Top = _MyParent.Top;
+ Left = _MyParent.Right + Width > rec.Right ? rec.Right - Width : _MyParent.Right;
+ }
+ }
+}
\ No newline at end of file
diff --git a/PROMS/DataLoader/frmErrors.resx b/PROMS/DataLoader/frmErrors.resx
new file mode 100644
index 00000000..19dc0dd8
--- /dev/null
+++ b/PROMS/DataLoader/frmErrors.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file