Commit e9209347 by Cam Hayes

disconnected uniconnections and cleaned up frees

parent 9824e397
......@@ -629,84 +629,81 @@ begin
logger.Log(3, 'TLookupSerivce.AddShippingAddress');
result := TJSONObject.Create;
JSONData := TJSONObject.ParseJSONValue(AddressInfo) as TJSONObject;
try
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
CustomerID := JSONData.GetValue<string>('customer_id');
if mode = 'EDIT' then
ShipID := JSONData.GetValue<integer>('customer_ship_id');
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
CustomerID := JSONData.GetValue<string>('customer_id');
if mode = 'EDIT' then
ShipID := JSONData.GetValue<integer>('customer_ship_id');
if mode = 'ADD' then
SQL := 'select * from customers_ship where customer_id = 0 and customer_id <> 0'
else
begin
SQL := 'select * from customers_ship where customer_ship_id = ' + IntToStr(ShipID);
end;
doQuery(ordersDB.UniQuery1, SQL);
try
if mode = 'ADD' then
SQL := 'select * from customers_ship where customer_id = 0 and customer_id <> 0'
ordersDB.UniQuery1.Insert
else
begin
SQL := 'select * from customers_ship where customer_ship_id = ' + IntToStr(ShipID);
end;
doQuery(ordersDB.UniQuery1, SQL);
try
if mode = 'ADD' then
ordersDB.UniQuery1.Insert
else
ordersDB.UniQuery1.Edit;
ordersDB.UniQuery1.Edit;
for Pair in JSONData do
for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
if Assigned(Field) then
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
if Assigned(Field) then
if (Field is TDateTimeField) then
begin
if (Field is TDateTimeField) then
begin
if (Pair.JsonValue.Value = '') or (Pair.JsonValue.Value = 'null') or (Pair.JsonValue.Value = '12/30/1899') then
Field.Clear // This sets the field to NULL (empty)
else
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value);
end
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
if (Pair.JsonValue.Value = '') or (Pair.JsonValue.Value = 'null') or (Pair.JsonValue.Value = '12/30/1899') then
Field.Clear // This sets the field to NULL (empty)
else
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value);
end
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
ordersDB.UniQuery1.Post;
end;
ordersDB.UniQuery1.Post;
if mode = 'ADD' then
begin
msg := 'Success: Shipping Address Successfully Added';
end
else
msg := 'Success: Shipping Address Successfully Edited';
if mode = 'ADD' then
begin
msg := 'Success: Shipping Address Successfully Added';
end
else
msg := 'Success: Shipping Address Successfully Edited';
// Sends the updated Address List Back.
// Sends the updated Address List Back.
SQL := 'select * FROM customers c LEFT JOIN customers_ship s ON c.CUSTOMER_ID = s.customer_id WHERE c.CUSTOMER_ID = ' + CustomerID;
doQuery(ordersDB.UniQuery1, SQL);
ADDRESS_LIST := TJSONArray.Create;
while not ordersDB.UniQuery1.Eof do
begin
ADDRESS := TJSONObject.Create;
ADDRESS.AddPair('ADDRESS', ordersDB.UniQuery1.FieldByName('ship_block').AsString);
ADDRESS.AddPair('shipping_address', ordersDB.UniQuery1.FieldByName('address').AsString);
ADDRESS.AddPair('city', ordersDB.UniQuery1.FieldByName('city').AsString);
ADDRESS.AddPair('state', ordersDB.UniQuery1.FieldByName('state').AsString);
ADDRESS.AddPair('zip', ordersDB.UniQuery1.FieldByName('zip').AsString);
ADDRESS.AddPair('contact', ordersDB.UniQuery1.FieldByName('contact').AsString);
ADDRESS.AddPair('ship_id', ordersDB.UniQuery1.FieldByName('customer_ship_id').AsString);
ADDRESS_LIST.Add(ADDRESS);
ordersDB.UniQuery1.Next;
end;
Result.AddPair('status', msg);
Result.AddPair('ADDRESS', ADDRESS_LIST);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do
begin
Result.AddPair('error', E.Message);
end
SQL := 'select * FROM customers c LEFT JOIN customers_ship s ON c.CUSTOMER_ID = s.customer_id WHERE c.CUSTOMER_ID = ' + CustomerID;
doQuery(ordersDB.UniQuery1, SQL);
ADDRESS_LIST := TJSONArray.Create;
while not ordersDB.UniQuery1.Eof do
begin
ADDRESS := TJSONObject.Create;
ADDRESS.AddPair('ADDRESS', ordersDB.UniQuery1.FieldByName('ship_block').AsString);
ADDRESS.AddPair('shipping_address', ordersDB.UniQuery1.FieldByName('address').AsString);
ADDRESS.AddPair('city', ordersDB.UniQuery1.FieldByName('city').AsString);
ADDRESS.AddPair('state', ordersDB.UniQuery1.FieldByName('state').AsString);
ADDRESS.AddPair('zip', ordersDB.UniQuery1.FieldByName('zip').AsString);
ADDRESS.AddPair('contact', ordersDB.UniQuery1.FieldByName('contact').AsString);
ADDRESS.AddPair('ship_id', ordersDB.UniQuery1.FieldByName('customer_ship_id').AsString);
ADDRESS_LIST.Add(ADDRESS);
ordersDB.UniQuery1.Next;
end;
finally
//JSONData.Free;
Result.AddPair('status', msg);
Result.AddPair('ADDRESS', ADDRESS_LIST);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do
begin
Result.AddPair('error', E.Message);
end
end;
end;
......@@ -728,104 +725,101 @@ begin
DateFormat.ShortDateFormat := 'yyyy-mm-dd';
DateFormat.DateSeparator := '-';
JSONData := TJSONObject.ParseJSONValue(customerInfo) as TJSONObject;
try
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
if mode = 'ADD' then
begin
// Update RevisionID
SQL := 'UPDATE idfield set KEYVALUE = KEYVALUE + 1 WHERE KEYNAME = ' + quotedStr('GEN_CUSTOMER_ID');
OrdersDB.UniQuery1.SQL.Text := SQL;
OrdersDB.UniQuery1.ExecSQL;
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
// Retrieve updated RevisionID
SQL := 'select KEYVALUE from idfield where KEYNAME = ' + quotedStr('GEN_CUSTOMER_ID');
doQuery(OrdersDB.UniQuery1, SQL);
CustomerID := OrdersDB.UniQuery1.FieldByName('KEYVALUE').AsInteger;
end
else
CustomerID := JSONData.GetValue<integer>('CUSTOMER_ID');
if mode = 'ADD' then
begin
// Update RevisionID
SQL := 'UPDATE idfield set KEYVALUE = KEYVALUE + 1 WHERE KEYNAME = ' + quotedStr('GEN_CUSTOMER_ID');
OrdersDB.UniQuery1.SQL.Text := SQL;
OrdersDB.UniQuery1.ExecSQL;
SQL := 'select CUSTOMER_ID from customers where SHORT_NAME = ' + quotedStr(JSONData.GetValue<string>('SHORT_NAME'));
// Retrieve updated RevisionID
SQL := 'select KEYVALUE from idfield where KEYNAME = ' + quotedStr('GEN_CUSTOMER_ID');
doQuery(OrdersDB.UniQuery1, SQL);
CustomerID := OrdersDB.UniQuery1.FieldByName('KEYVALUE').AsInteger;
end
else
CustomerID := JSONData.GetValue<integer>('CUSTOMER_ID');
SQL := 'select CUSTOMER_ID from customers where SHORT_NAME = ' + quotedStr(JSONData.GetValue<string>('SHORT_NAME'));
doQuery(OrdersDB.UniQuery1, SQL);
if mode = 'ADD' then
begin
if OrdersDB.UniQuery1.IsEmpty then
unique := true
else
unique := false;
end
else
begin
if ( (OrdersDB.UniQuery1.IsEmpty) or (OrdersDB.UniQuery1.FieldByName('CUSTOMER_ID').AsInteger = CustomerID) ) then
unique := true
else
unique := false;
end;
if unique then
begin
if mode = 'ADD' then
begin
if OrdersDB.UniQuery1.IsEmpty then
unique := true
else
unique := false;
end
SQL := 'select * from customers where CUSTOMER_ID = 0 and CUSTOMER_ID <> 0'
else
begin
if ( (OrdersDB.UniQuery1.IsEmpty) or (OrdersDB.UniQuery1.FieldByName('CUSTOMER_ID').AsInteger = CustomerID) ) then
unique := true
else
unique := false;
SQL := 'select * from customers where CUSTOMER_ID = ' + IntToStr(CustomerID);
end;
doQuery(ordersDB.UniQuery1, SQL);
if unique then
begin
try
if mode = 'ADD' then
SQL := 'select * from customers where CUSTOMER_ID = 0 and CUSTOMER_ID <> 0'
ordersDB.UniQuery1.Insert
else
begin
SQL := 'select * from customers where CUSTOMER_ID = ' + IntToStr(CustomerID);
end;
doQuery(ordersDB.UniQuery1, SQL);
try
if mode = 'ADD' then
ordersDB.UniQuery1.Insert
else
ordersDB.UniQuery1.Edit;
ordersDB.UniQuery1.Edit;
for Pair in JSONData do
for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
if Assigned(Field) then
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
if Assigned(Field) then
if (Field is TDateTimeField) then
begin
if (Field is TDateTimeField) then
begin
if (Pair.JsonValue.Value = '') or (Pair.JsonValue.Value = 'null') or (Pair.JsonValue.Value = '12/30/1899') then
Field.Clear // This sets the field to NULL (empty)
else
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value);
end
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
if (Pair.JsonValue.Value = '') or (Pair.JsonValue.Value = 'null') or (Pair.JsonValue.Value = '12/30/1899') then
Field.Clear // This sets the field to NULL (empty)
else
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value);
end
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
end;
ordersDB.UniQuery1.FieldByName('CUSTOMER_ID').AsInteger := CustomerID;
ordersDB.UniQuery1.FieldByName('CUSTOMER_ID').AsInteger := CustomerID;
// Post the record to the database
ordersDB.UniQuery1.Post;
// Post the record to the database
ordersDB.UniQuery1.Post;
if mode = 'ADD' then
msg := 'Success: Customer Successfully Added'
else
msg := 'Success: Customer Successfully Edited';
if mode = 'ADD' then
msg := 'Success: Customer Successfully Added'
else
msg := 'Success: Customer Successfully Edited';
Result := TJSONObject.Create.AddPair('status', msg);
Result.AddPair('CustomerID', CustomerID);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do
begin
Result := TJSONObject.Create.AddPair('error', E.Message);
end
end;
end
else
Result := TJSONObject.Create.AddPair('status', 'Failure: Company Account Name Must Be Unique');
finally
//JSONData.Free;
end;
Result := TJSONObject.Create.AddPair('status', msg);
Result.AddPair('CustomerID', CustomerID);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do
begin
Result := TJSONObject.Create.AddPair('error', E.Message);
end
end;
end
else
Result := TJSONObject.Create.AddPair('status', 'Failure: Company Account Name Must Be Unique');
end;
function TLookupService.GenerateOrderCorrugatedPDF(orderID: string): string;
......@@ -1835,85 +1829,82 @@ begin
DateFormat.ShortDateFormat := 'yyyy-mm-dd';
DateFormat.DateSeparator := '-';
JSONData := TJSONObject.ParseJSONValue(orderInfo) as TJSONObject;
try
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
AddToOrdersTable(mode, 'corrugated_plate', JSONData);
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
if mode = 'ADD' then
begin
ordersDB.UniQuery1.SQL.Text := 'SELECT LAST_INSERT_ID() AS OrderID'; // Use database's method to get the last inserted ID
ordersDB.UniQuery1.Open;
ORDER_ID := ordersDB.UniQuery1.FieldByName('OrderID').AsInteger;
end;
AddToOrdersTable(mode, 'corrugated_plate', JSONData);
if mode = 'ADD' then
begin
ordersDB.UniQuery1.SQL.Text := 'SELECT LAST_INSERT_ID() AS OrderID'; // Use database's method to get the last inserted ID
ordersDB.UniQuery1.Open;
ORDER_ID := ordersDB.UniQuery1.FieldByName('OrderID').AsInteger;
end;
if mode = 'ADD' then
SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
else
begin
ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
end;
doQuery(ordersDB.UniQuery1, SQL);
try
if mode = 'ADD' then
SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
ordersDB.UniQuery1.Insert
else
begin
ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
end;
doQuery(ordersDB.UniQuery1, SQL);
try
if mode = 'ADD' then
ordersDB.UniQuery1.Insert
else
ordersDB.UniQuery1.Edit;
ordersDB.UniQuery1.Edit;
for Pair in JSONData do
for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
if Assigned(Field) then
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
if Assigned(Field) then
if (Field is TDateTimeField) then
begin
if (Field is TDateTimeField) then
begin
if (Pair.JsonValue.Value = '') or (Pair.JsonValue.Value = 'null') or (Pair.JsonValue.Value = '12/30/1899') then
Field.Clear // This sets the field to NULL (empty)
else
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value);
end
if (Pair.JsonValue.Value = '') or (Pair.JsonValue.Value = 'null') or (Pair.JsonValue.Value = '12/30/1899') then
Field.Clear // This sets the field to NULL (empty)
else
Field.AsString := Pair.JsonValue.Value;
end;
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value);
end
else
Field.AsString := Pair.JsonValue.Value;
end;
end;
ordersDB.UniQuery1.FieldByName('ORDER_ID').AsInteger := ORDER_ID;
ordersDB.UniQuery1.Post;
ordersDB.UniQuery1.FieldByName('ORDER_ID').AsInteger := ORDER_ID;
ordersDB.UniQuery1.Post;
if ( JSONData.GetValue<string>('staff_fields_proof_date') <> '' ) and ( JSONData.GetValue<string>('staff_fields_proof_date') <> '12/30/1899' ) then
AddStatusSchedule('PROOF', JSONData, ORDER_ID);
if ( JSONData.GetValue<string>('staff_fields_ship_date') <> '' ) and ( JSONData.GetValue<string>('staff_fields_ship_date') <> '12/30/1899' ) then
AddStatusSchedule('SHIP', JSONData, ORDER_ID);
if ( JSONData.GetValue<string>('staff_fields_art_due') <> '' ) and ( JSONData.GetValue<string>('staff_fields_art_due') <> '12/30/1899' ) then
AddStatusSchedule('ART', JSONData, ORDER_ID);
if ( JSONData.GetValue<string>('staff_fields_plate_due') <> '' ) and ( JSONData.GetValue<string>('staff_fields_plate_due') <> '12/30/1899' ) then
AddStatusSchedule('PLATE', JSONData, ORDER_ID);
if ( JSONData.GetValue<string>('staff_fields_mount_due') <> '' ) and ( JSONData.GetValue<string>('staff_fields_mount_due') <> '12/30/1899' ) then
AddStatusSchedule('MOUNT', JSONData, ORDER_ID);
AddToRevisionsTable(intToStr(ORDER_ID), 'corrugated_plate_orders_revisions', JSONData);
if mode = 'ADD' then
msg := 'Success: Order Successfully Added'
else
msg := 'Success: Order Successfully Edited';
if ( JSONData.GetValue<string>('staff_fields_proof_date') <> '' ) and ( JSONData.GetValue<string>('staff_fields_proof_date') <> '12/30/1899' ) then
AddStatusSchedule('PROOF', JSONData, ORDER_ID);
if ( JSONData.GetValue<string>('staff_fields_ship_date') <> '' ) and ( JSONData.GetValue<string>('staff_fields_ship_date') <> '12/30/1899' ) then
AddStatusSchedule('SHIP', JSONData, ORDER_ID);
if ( JSONData.GetValue<string>('staff_fields_art_due') <> '' ) and ( JSONData.GetValue<string>('staff_fields_art_due') <> '12/30/1899' ) then
AddStatusSchedule('ART', JSONData, ORDER_ID);
if ( JSONData.GetValue<string>('staff_fields_plate_due') <> '' ) and ( JSONData.GetValue<string>('staff_fields_plate_due') <> '12/30/1899' ) then
AddStatusSchedule('PLATE', JSONData, ORDER_ID);
if ( JSONData.GetValue<string>('staff_fields_mount_due') <> '' ) and ( JSONData.GetValue<string>('staff_fields_mount_due') <> '12/30/1899' ) then
AddStatusSchedule('MOUNT', JSONData, ORDER_ID);
Result := JSONData;
Result.AddPair('status', msg);
Result.AddPair('ORDER_ID', ORDER_ID);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do
begin
Logger.Log(2, 'Error in AddCorrugatedOrder: ' + E.Message);
raise EXDataHttpException.Create(500, 'Unable to add or edit web order: A KG Orders database issue has occurred!');
end
end;
finally
//JSONData.Free;
AddToRevisionsTable(intToStr(ORDER_ID), 'corrugated_plate_orders_revisions', JSONData);
if mode = 'ADD' then
msg := 'Success: Order Successfully Added'
else
msg := 'Success: Order Successfully Edited';
Result := JSONData;
Result.AddPair('status', msg);
Result.AddPair('ORDER_ID', ORDER_ID);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do
begin
Logger.Log(2, 'Error in AddCorrugatedOrder: ' + E.Message);
raise EXDataHttpException.Create(500, 'Unable to add or edit web order: A KG Orders database issue has occurred!');
end
end;
end;
......@@ -2178,66 +2169,63 @@ begin
logger.Log(3, 'TLookupService.AddItem');
result := TJSONObject.Create;
JSONData := TJSONObject.ParseJSONValue(itemInfo) as TJSONObject;
try
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
Name := JSONData.GetValue<string>('qb_item_name');
Description := JSONData.GetValue<string>('item_desc');
ID := JSONData.GetValue<string>('qb_items_id');
Status := JSONData.GetValue<string>('status');
if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
mode := JSONData.GetValue<string>('mode');
if mode = 'ADD' then
begin
Name := JSONData.GetValue<string>('qb_item_name');
Description := JSONData.GetValue<string>('item_desc');
ID := JSONData.GetValue<string>('qb_items_id');
Status := JSONData.GetValue<string>('status');
SQL := 'select * from qb_items where qb_item_name = ' + QuotedStr(Name);
doQuery(ordersDB.UniQuery1, SQL);
if true then //ordersDB.UniQuery1.IsEmpty then
begin
ordersDB.UniQuery1.Insert;
if mode = 'ADD' then
begin
ordersDB.UniQuery1.FieldByName('qb_item_name').AsString := Name;
ordersDB.UniQuery1.FieldByName('item_desc').AsString := Description;
ordersDB.UniQuery1.FieldByName('status').AsString := status;
SQL := 'select * from qb_items where qb_item_name = ' + QuotedStr(Name);
doQuery(ordersDB.UniQuery1, SQL);
if true then //ordersDB.UniQuery1.IsEmpty then
begin
ordersDB.UniQuery1.Insert;
ordersDB.UniQuery1.FieldByName('qb_items_qb_id').AsString := JSONData.GetValue<string>('qb_items_qb_id');
ordersDB.UniQuery1.FieldByName('qb_item_name').AsString := Name;
ordersDB.UniQuery1.FieldByName('item_desc').AsString := Description;
ordersDB.UniQuery1.FieldByName('status').AsString := status;
ordersDB.UniQuery1.Post;
Result.AddPair('msg', 'Success: Item successfully added');
Result.AddPair('description', ordersDB.UniQuery1.FieldByName('item_desc').AsString);
Result.AddPair('name', ordersDB.UniQuery1.FieldByName('qb_item_name').AsString);
Result.AddPair('status', ordersDB.UniQuery1.FieldByName('status').AsString);
end
else
Result.AddPair('msg', 'Failure: Item already exists');
ordersDB.UniQuery1.FieldByName('qb_items_qb_id').AsString := JSONData.GetValue<string>('qb_items_qb_id');
ordersDB.UniQuery1.Post;
Result.AddPair('msg', 'Success: Item successfully added');
Result.AddPair('description', ordersDB.UniQuery1.FieldByName('item_desc').AsString);
Result.AddPair('name', ordersDB.UniQuery1.FieldByName('qb_item_name').AsString);
Result.AddPair('status', ordersDB.UniQuery1.FieldByName('status').AsString);
end
else
begin
SQL := 'select * from qb_items where qb_items_id = ' + ID;
doQuery(ordersDB.UniQuery1, SQL);
Result.AddPair('msg', 'Failure: Item already exists');
end
else
begin
SQL := 'select * from qb_items where qb_items_id = ' + ID;
doQuery(ordersDB.UniQuery1, SQL);
if ( not ordersDB.UniQuery1.IsEmpty ) then
begin
ordersDB.UniQuery1.Edit;
if ( not ordersDB.UniQuery1.IsEmpty ) then
begin
ordersDB.UniQuery1.Edit;
ordersDB.UniQuery1.FieldByName('qb_item_name').AsString := Name;
ordersDB.UniQuery1.FieldByName('item_desc').AsString := Description;
ordersDB.UniQuery1.FieldByName('status').AsString := status;
ordersDB.UniQuery1.FieldByName('qb_item_name').AsString := Name;
ordersDB.UniQuery1.FieldByName('item_desc').AsString := Description;
ordersDB.UniQuery1.FieldByName('status').AsString := status;
ordersDB.UniQuery1.Post;
Result.AddPair('msg', 'Success: Item successfully edited');
end;
ordersDB.UniQuery1.Post;
Result.AddPair('msg', 'Success: Item successfully edited');
end;
end;
except
on E: Exception do
logger.Log(2, 'An error occurred when adding an item: ' + E.Message);
end;
finally
//JSONData.Free;
end;
end;
except
on E: Exception do
logger.Log(2, 'An error occurred when adding an item: ' + E.Message);
end;
end;
......
......@@ -7,7 +7,6 @@ object rptOrderCorrugated: TrptOrderCorrugated
Database = 'kg_order_entry'
Username = 'root'
Server = '192.168.159.10'
Connected = True
LoginPrompt = False
Left = 289
Top = 119
......@@ -53,442 +52,6 @@ object rptOrderCorrugated: TrptOrderCorrugated
DataSetOptions = []
Left = 444
Top = 206
FieldDefs = <
item
FieldName = 'ORDER_ID'
end
item
FieldName = 'COMPANY_ID'
end
item
FieldName = 'USER_ID'
end
item
FieldName = 'ORDER_DATE'
FieldType = fftDateTime
end
item
FieldName = 'START_DATE'
FieldType = fftDateTime
end
item
FieldName = 'END_DATE'
FieldType = fftDateTime
end
item
FieldName = 'ORDER_STATUS'
FieldType = fftString
end
item
FieldName = 'SCHED_JSON'
FieldType = fftString
Size = 4096
end
item
FieldName = 'staff_fields_order_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_proof_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_via'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_price'
FieldType = fftString
end
item
FieldName = 'staff_fields_invoice_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_invoice_attention'
FieldType = fftString
Size = 256
end
item
FieldName = 'staff_fields_ship_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_ship_attention'
FieldType = fftString
Size = 256
end
item
FieldName = 'staff_fields_po_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'staff_fields_job_name'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_art_due'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_plate_due'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_mount_due'
FieldType = fftDateTime
end
item
FieldName = 'plates_job_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'supplied_by_customer_b_w_copy'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_color_copy'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_plates'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_sample_ca'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_dimension'
FieldType = fftString
Size = 64
end
item
FieldName = 'supplied_by_customer_disk_or_cd'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_e_mail'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_ftp'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_other'
FieldType = fftString
Size = 96
end
item
FieldName = 'supplied_by_customer_existing_'
FieldType = fftString
Size = 16
end
item
FieldName = 'supplied_by_customer_ref_art_p'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_ref_art_a'
FieldType = fftString
Size = 256
end
item
FieldName = 'cut_die_cutdier'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdieb'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdief'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdierkr'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdiefkr'
FieldType = fftString
end
item
FieldName = 'cut_die_cad_file'
FieldType = fftString
Size = 128
end
item
FieldName = 'cut_die_attached'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol250'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol155'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol125'
FieldType = fftString
end
item
FieldName = 'cut_die_brub'
FieldType = fftString
end
item
FieldName = 'proofing_fax'
FieldType = fftString
Size = 16
end
item
FieldName = 'proofing_fax_attn'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_e_mail'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_e_mail_attn'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_ship_to'
FieldType = fftString
Size = 1024
end
item
FieldName = 'proofing_full_size_panel'
FieldType = fftString
end
item
FieldName = 'proofing_print_card'
FieldType = fftString
end
item
FieldName = 'proofing_wide_format'
FieldType = fftString
end
item
FieldName = 'proofing_pdf_file'
FieldType = fftString
end
item
FieldName = 'proofing_other'
FieldType = fftString
Size = 64
end
item
FieldName = 'proofing_art_approved_as_is'
FieldType = fftString
end
item
FieldName = 'proofing_approved_date'
FieldType = fftDateTime
end
item
FieldName = 'proofing_changes_required'
FieldType = fftString
end
item
FieldName = 'proofing_changes_date'
FieldType = fftDateTime
end
item
FieldName = 'layout_rsc_l'
FieldType = fftString
end
item
FieldName = 'layout_rcs_w'
FieldType = fftString
end
item
FieldName = 'layout_rcs_d'
FieldType = fftString
end
item
FieldName = 'layout_die_cut_no'
FieldType = fftString
Size = 45
end
item
FieldName = 'layout_accross_no'
FieldType = fftString
end
item
FieldName = 'layout_around_no'
FieldType = fftString
end
item
FieldName = 'layout_cad_file'
FieldType = fftString
Size = 45
end
item
FieldName = 'layout_excalibur_die'
FieldType = fftString
end
item
FieldName = 'mounting_loose'
FieldType = fftString
end
item
FieldName = 'mounting_sticky_bak'
FieldType = fftString
end
item
FieldName = 'mounting_full_mount'
FieldType = fftString
end
item
FieldName = 'mounting_strip_mount'
FieldType = fftString
end
item
FieldName = 'colors_cylinder_size'
FieldType = fftString
Size = 45
end
item
FieldName = 'colors_machine_ident'
FieldType = fftString
Size = 45
end
item
FieldName = 'mounting_standard_setup'
FieldType = fftString
Size = 45
end
item
FieldName = 'mounting_custom_backing'
FieldType = fftString
Size = 96
end
item
FieldName = 'mounting_custom_adhesive'
FieldType = fftString
Size = 45
end
item
FieldName = 'colors_cross_hairs'
FieldType = fftString
end
item
FieldName = 'colors_clemson'
FieldType = fftString
end
item
FieldName = 'plates_thickness'
FieldType = fftString
end
item
FieldName = 'plates_plate_material'
FieldType = fftString
Size = 16
end
item
FieldName = 'general_special_instructions'
FieldType = fftString
Size = 2048
end
item
FieldName = 'colors_colors'
FieldType = fftString
Size = 4096
end
item
FieldName = 'staff_fields_quickbooks_item'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_quantity'
FieldType = fftString
end
item
FieldName = 'layout_rsc_style'
FieldType = fftString
Size = 32
end
item
FieldName = 'staff_fields_art_location'
FieldType = fftString
Size = 16
end
item
FieldName = 'ORDER_ID_1'
end
item
FieldName = 'COMPANY_ID_1'
end
item
FieldName = 'ORDER_TYPE'
FieldType = fftString
Size = 45
end
item
FieldName = 'ORDER_DATE_1'
FieldType = fftDateTime
end
item
FieldName = 'PRICE'
end
item
FieldName = 'JOB_NAME'
FieldType = fftString
Size = 128
end
item
FieldName = 'USER_ID_1'
end
item
FieldName = 'LOCATION'
FieldType = fftString
Size = 16
end
item
FieldName = 'IN_QB'
FieldType = fftString
end
item
FieldName = 'QB_ORDER_NUM'
FieldType = fftString
Size = 30
end
item
FieldName = 'QB_ESTIMATE_ID'
FieldType = fftString
Size = 30
end
item
FieldName = 'QB_ORDER_USER'
FieldType = fftString
Size = 60
end
item
FieldName = 'QB_CREATE_DATE'
FieldType = fftDateTime
end>
end
object frxOrderCorrugated: TfrxReport
Version = '2025.2.4'
......@@ -4815,7 +4378,6 @@ object rptOrderCorrugated: TrptOrderCorrugated
'select * from corrugated_plate_orders c join orders o on c.ORDER' +
'_ID = o.ORDER_ID where c.ORDER_ID = 20646')
Active = True
Left = 457
Top = 106
object uqOrderCorrugatedORDER_ID: TIntegerField
......
......@@ -7,7 +7,6 @@ object rptOrderCutting: TrptOrderCutting
Database = 'kg_order_entry'
Username = 'root'
Server = '192.168.159.10'
Connected = True
LoginPrompt = False
Left = 289
Top = 119
......@@ -53,134 +52,6 @@ object rptOrderCutting: TrptOrderCutting
DataSetOptions = []
Left = 444
Top = 206
FieldDefs = <
item
FieldName = 'ORDER_ID'
end
item
FieldName = 'COMPANY_ID'
end
item
FieldName = 'USER_ID'
end
item
FieldName = 'ORDER_DATE'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_order_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_proof_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_via'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_quantity'
FieldType = fftString
end
item
FieldName = 'staff_fields_price'
FieldType = fftString
end
item
FieldName = 'staff_fields_invoice_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_ship_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_po_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'staff_fields_job_name'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_quickbooks_item'
FieldType = fftString
Size = 45
end
item
FieldName = 'general_special_instructions'
FieldType = fftString
Size = 2048
end
item
FieldName = 'ORDER_STATUS'
FieldType = fftString
Size = 50
end
item
FieldName = 'ORDER_ID_1'
end
item
FieldName = 'COMPANY_ID_1'
end
item
FieldName = 'ORDER_TYPE'
FieldType = fftString
Size = 45
end
item
FieldName = 'ORDER_DATE_1'
FieldType = fftDateTime
end
item
FieldName = 'PRICE'
end
item
FieldName = 'JOB_NAME'
FieldType = fftString
Size = 128
end
item
FieldName = 'USER_ID_1'
end
item
FieldName = 'LOCATION'
FieldType = fftString
Size = 16
end
item
FieldName = 'IN_QB'
FieldType = fftString
end
item
FieldName = 'QB_ORDER_NUM'
FieldType = fftString
Size = 30
end
item
FieldName = 'QB_ESTIMATE_ID'
FieldType = fftString
Size = 30
end
item
FieldName = 'QB_ORDER_USER'
FieldType = fftString
Size = 60
end
item
FieldName = 'QB_CREATE_DATE'
FieldType = fftDateTime
end>
end
object frxOrderCutting: TfrxReport
Version = '2025.2.4'
......@@ -1782,7 +1653,6 @@ object rptOrderCutting: TrptOrderCutting
'select * from cutting_die_orders c join orders o on c.ORDER_ID =' +
' o.ORDER_ID where c.ORDER_ID = 20649')
Active = True
Left = 457
Top = 106
object uqOrderCuttingORDER_ID: TIntegerField
......
......@@ -7,7 +7,6 @@ object rptOrderWeb: TrptOrderWeb
Database = 'kg_order_entry'
Username = 'root'
Server = '192.168.159.10'
Connected = True
LoginPrompt = False
Left = 289
Top = 119
......@@ -51,442 +50,6 @@ object rptOrderWeb: TrptOrderWeb
DataSetOptions = []
Left = 444
Top = 206
FieldDefs = <
item
FieldName = 'ORDER_ID'
end
item
FieldName = 'COMPANY_ID'
end
item
FieldName = 'USER_ID'
end
item
FieldName = 'ORDER_DATE'
FieldType = fftDateTime
end
item
FieldName = 'START_DATE'
FieldType = fftDateTime
end
item
FieldName = 'END_DATE'
FieldType = fftDateTime
end
item
FieldName = 'ORDER_STATUS'
FieldType = fftString
end
item
FieldName = 'SCHED_JSON'
FieldType = fftString
Size = 4096
end
item
FieldName = 'staff_fields_order_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_proof_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_via'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_price'
FieldType = fftString
end
item
FieldName = 'staff_fields_invoice_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_invoice_attention'
FieldType = fftString
Size = 256
end
item
FieldName = 'staff_fields_ship_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_ship_attention'
FieldType = fftString
Size = 256
end
item
FieldName = 'staff_fields_po_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'staff_fields_job_name'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_art_due'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_plate_due'
FieldType = fftDateTime
end
item
FieldName = 'plates_job_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'supplied_by_customer_b_w_or_co'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_plates'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_sample'
FieldType = fftString
Size = 45
end
item
FieldName = 'supplied_by_customer_dimension'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_other'
FieldType = fftString
Size = 45
end
item
FieldName = 'supplied_by_customer_disk'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_e_mail'
FieldType = fftString
Size = 128
end
item
FieldName = 'supplied_by_customer_ftp'
FieldType = fftString
Size = 128
end
item
FieldName = 'plates_plate_material'
FieldType = fftString
Size = 16
end
item
FieldName = 'plates_thickness'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_total_inc'
FieldType = fftString
Size = 32
end
item
FieldName = 'supplied_by_customer_sheets_us'
FieldType = fftString
Size = 32
end
item
FieldName = 'supplied_by_customer_initials'
FieldType = fftString
Size = 16
end
item
FieldName = 'proofing_pdf'
FieldType = fftString
end
item
FieldName = 'proofing_pdf_to'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_pdf_date_1'
FieldType = fftDateTime
end
item
FieldName = 'proofing_pdf_date_2'
FieldType = fftDateTime
end
item
FieldName = 'proofing_pdf_date_3'
FieldType = fftDateTime
end
item
FieldName = 'proofing_full_size_ink_jet_for'
FieldType = fftString
end
item
FieldName = 'proofing_ink_jet_to'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_ink_jet_to_2'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_ink_jet_date_1'
FieldType = fftDateTime
end
item
FieldName = 'proofing_ink_jet_date_2'
FieldType = fftDateTime
end
item
FieldName = 'proofing_ink_jet_date_3'
FieldType = fftDateTime
end
item
FieldName = 'proofing_color_contract'
FieldType = fftString
Size = 17
end
item
FieldName = 'proofing_color_contrac_to'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_color_contrac_date_1'
FieldType = fftDateTime
end
item
FieldName = 'proofing_color_contrac_date_2'
FieldType = fftDateTime
end
item
FieldName = 'proofing_digital_color_key'
FieldType = fftString
end
item
FieldName = 'proofing_digital_color_to'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_digital_color_date_1'
FieldType = fftDateTime
end
item
FieldName = 'quantity_and_colors_press_name'
FieldType = fftString
Size = 64
end
item
FieldName = 'quantity_and_colors_anilox_info'
FieldType = fftString
Size = 64
end
item
FieldName = 'plate_marks_microdots'
FieldType = fftString
end
item
FieldName = 'plate_marks_microdots_comments'
FieldType = fftString
Size = 128
end
item
FieldName = 'plate_marks_crosshairs'
FieldType = fftString
end
item
FieldName = 'plate_marks_crosshairs_comments'
FieldType = fftString
Size = 128
end
item
FieldName = 'plate_marks_color_bars'
FieldType = fftString
end
item
FieldName = 'plate_marks_color_bars_comments'
FieldType = fftString
Size = 128
end
item
FieldName = 'plate_marks_other'
FieldType = fftString
Size = 16
end
item
FieldName = 'plate_marks_other_comments'
FieldType = fftString
Size = 128
end
item
FieldName = 'print_orientation_print_orient'
FieldType = fftString
end
item
FieldName = 'layout_around'
FieldType = fftString
end
item
FieldName = 'layout_accross'
FieldType = fftString
end
item
FieldName = 'layout_surface_print'
FieldType = fftString
end
item
FieldName = 'layout_reverse_print'
FieldType = fftString
end
item
FieldName = 'layout_cylinder_repeat'
FieldType = fftString
Size = 16
end
item
FieldName = 'layout_cutoff_dimension'
FieldType = fftString
Size = 16
end
item
FieldName = 'layout_pitch'
FieldType = fftString
Size = 16
end
item
FieldName = 'layout_teeth'
FieldType = fftString
Size = 16
end
item
FieldName = 'layout_bleed'
FieldType = fftString
Size = 16
end
item
FieldName = 'layout_cutback'
FieldType = fftString
Size = 16
end
item
FieldName = 'layout_minimum_trap_dim'
FieldType = fftString
end
item
FieldName = 'layout_maximum_trap_dim'
FieldType = fftString
end
item
FieldName = 'upc_size'
FieldType = fftString
Size = 16
end
item
FieldName = 'upc_bar_width_reduction'
FieldType = fftString
Size = 16
end
item
FieldName = 'quantity_and_colors_qty_colors'
FieldType = fftString
Size = 4096
end
item
FieldName = 'general_comments'
FieldType = fftString
Size = 4096
end
item
FieldName = 'staff_fields_quickbooks_item'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_quantity'
FieldType = fftString
end
item
FieldName = 'upc_distortion_percent'
FieldType = fftString
Size = 16
end
item
FieldName = 'upc_distortion_amount'
FieldType = fftString
Size = 16
end
item
FieldName = 'staff_fields_art_location'
FieldType = fftString
Size = 16
end
item
FieldName = 'ORDER_ID_1'
end
item
FieldName = 'COMPANY_ID_1'
end
item
FieldName = 'ORDER_TYPE'
FieldType = fftString
Size = 45
end
item
FieldName = 'ORDER_DATE_1'
FieldType = fftDateTime
end
item
FieldName = 'PRICE'
end
item
FieldName = 'JOB_NAME'
FieldType = fftString
Size = 128
end
item
FieldName = 'USER_ID_1'
end
item
FieldName = 'LOCATION'
FieldType = fftString
Size = 16
end
item
FieldName = 'IN_QB'
FieldType = fftString
end
item
FieldName = 'QB_ORDER_NUM'
FieldType = fftString
Size = 30
end
item
FieldName = 'QB_ESTIMATE_ID'
FieldType = fftString
Size = 30
end
item
FieldName = 'QB_ORDER_USER'
FieldType = fftString
Size = 60
end
item
FieldName = 'QB_CREATE_DATE'
FieldType = fftDateTime
end>
end
object frxOrderWeb: TfrxReport
Version = '2025.2.4'
......@@ -5082,7 +4645,6 @@ object rptOrderWeb: TrptOrderWeb
'SELECT * FROM web_plate_orders w JOIN orders o ON w.ORDER_ID = o' +
'.ORDER_ID WHERE w.ORDER_ID = 20648')
Active = True
Left = 457
Top = 106
object uqOrderWebORDER_ID: TIntegerField
......
......@@ -2,7 +2,7 @@
MemoLogLevel=4
FileLogLevel=4
webClientVersion=1.0.0
LogFileNum=157
LogFileNum=158
[Database]
--Server=192.168.116.138
......
......@@ -18630,3 +18630,343 @@ This application has leaked memory. The small block leaks are (excluding expecte
213 - 244 bytes: UnicodeString x 28
Note: Memory leak detail is logged to a text file in the same folder as this application. To disable this memory leak check, undefine "EnableMemoryLeakReporting".
--------------------------------2025/11/21 15:17:16--------------------------------
FastMM has detected an attempt to call a virtual method on a freed object. An access violation will now be raised in order to abort the current operation.
Freed object class: System.JSON.TJSONArray
Virtual method: Destroy
Virtual method address: 893A9C
The allocation number was: 232624
The object was allocated by thread 0x212C, and the stack trace (return addresses) at the time was:
4FA10F [System.pas][System][TObject.NewInstance][18357]
4FA812 [System.pas][System][@ClassCreate$qqrpvzc][19687]
893952 [System.JSON.pas][System.JSON][Json.TJSONArray.Create][3392]
890509 [System.JSON.pas][System.JSON][Json.TJSONByteReader.FlushString][1843]
8908F7 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseArray][2031]
890A96 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseValue][2084]
890842 [System.JSON.pas][System.JSON][Json.TJSONValue.ParsePair][2013]
8936A7 [System.JSON.pas][System.JSON][Json.TJSONObject.Parse][3281]
8907A6 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseObject][1992]
890A84 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseValue][2082]
891432 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseJSONValue][2331]
The object was subsequently freed by thread 0x212C, and the stack trace (return addresses) at the time was:
4FA12D [System.pas][System][TObject.FreeInstance][18366]
4FA85D [System.pas][System][@ClassDestroy$qqrxp14System.TObject][19730]
893B1F [System.JSON.pas][System.JSON][Json.TJSONArray.Destroy][3438]
4FA223 [System.pas][System][TObject.Free][18429]
892BB1 [System.JSON.pas][System.JSON][Json.TJSONPair.Destroy][2893]
4FA223 [System.pas][System][TObject.Free][18429]
892F08 [System.JSON.pas][System.JSON][Json.TJSONObject.Destroy][3049]
4FA223 [System.pas][System][TObject.Free][18429]
1EE2131 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetColorCount][1166]
1EE26DB [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetOrders][1240]
580620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
The current thread ID is 0x212C, and the stack trace (return addresses) leading to this error is:
4FA223 [System.pas][System][TObject.Free][18429]
1EE2139 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetColorCount][1167]
1EE26DB [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetOrders][1240]
580620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
580A05 [System.Rtti.pas][System.Rtti][Rtti.Invoke$qqrpvx42System.%DynamicArray$18System.Rtti.TValue%24System.Typinfo.TCallConvp24System.Typinfo.TTypeInfooo][8971]
4FE445 [System.pas][System][@FinalizeRecord$qqrpvt1][33317]
B1F7BD [XData.Aurelius.Model.pas][XData.Aurelius.Model][Aurelius.Model.TXDataAureliusModel.GetActionInfo][490]
6CF9336 [GetRawStackTrace]
512C30 [FastMM4.pas][FastMM4][FastFreeMem$qqrpv][6336]
5141B8 [FastMM4.pas][FastMM4][DebugFreeMem$qqrpv][9847]
5141CD [FastMM4.pas][FastMM4][DebugFreeMem$qqrpv][9854]
Current memory dump of 256 bytes starting at pointer address 7DAD3360:
8C CC FC 01 80 80 80 80 80 80 80 80 80 80 80 80 3A 72 F7 74 80 80 80 80 00 00 00 00 60 D9 AC 7D
00 00 00 00 00 00 00 00 48 3F 51 00 00 00 00 00 C7 82 03 00 BA 72 4F 00 0F A1 4F 00 12 A8 4F 00
F4 A1 4F 00 80 E5 C9 00 91 CF CA 00 94 CE CA 00 06 D5 CA 00 DF E8 CA 00 7B EA CA 00 6A C3 EE 00
2C 21 00 00 2C 21 00 00 2D A1 4F 00 5D A8 4F 00 16 A2 4F 00 23 A2 4F 00 E2 05 EC 00 C8 E0 EC 00
D5 A6 EC 00 BC 2B ED 00 CD 85 EE 00 67 8B EE 00 92 8C EE 00 14 00 00 00 60 76 CA 00 5D E0 76 8D
C8 4A 59 00 78 CC A9 7D 0A 00 00 00 0C 00 00 00 00 00 00 00 A2 1F 89 72 00 00 00 00 60 D9 AC 7D
00 00 00 00 00 00 00 00 48 3F 51 00 00 00 00 00 C4 82 03 00 BA 72 4F 00 0F A1 4F 00 12 A8 4F 00
F4 A1 4F 00 80 E5 C9 00 91 CF CA 00 94 CE CA 00 06 D5 CA 00 DF E8 CA 00 7B EA CA 00 6A C3 EE 00
. : r t . . . . ` }
. . . . . . . . H ? Q . . . . . . . r O . . O . . O .
O . . . . . . . { . j .
, ! . . , ! . . - O . ] O . . O . # O . . . .
. + . . g . . . . . . ` v . ] v
J Y . x } . . . . . . . . . . . . . r . . . . ` }
. . . . . . . . H ? Q . . . . . . . r O . . O . . O .
O . . . . . . . { . j .
--------------------------------2025/11/21 15:18:16--------------------------------
FastMM has detected an attempt to call a virtual method on a freed object. An access violation will now be raised in order to abort the current operation.
Freed object class: System.JSON.TJSONArray
Virtual method: Destroy
Virtual method address: ED3A9C
The allocation number was: 232619
The object was allocated by thread 0x2B18, and the stack trace (return addresses) at the time was:
B3A10F [System.pas][System][TObject.NewInstance][18357]
B3A812 [System.pas][System][@ClassCreate$qqrpvzc][19687]
ED3952 [System.JSON.pas][System.JSON][Json.TJSONArray.Create][3392]
ED0509 [System.JSON.pas][System.JSON][Json.TJSONByteReader.FlushString][1843]
ED08F7 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseArray][2031]
ED0A96 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseValue][2084]
ED0842 [System.JSON.pas][System.JSON][Json.TJSONValue.ParsePair][2013]
ED36A7 [System.JSON.pas][System.JSON][Json.TJSONObject.Parse][3281]
ED07A6 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseObject][1992]
ED0A84 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseValue][2082]
ED1432 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseJSONValue][2331]
The object was subsequently freed by thread 0x2B18, and the stack trace (return addresses) at the time was:
B3A12D [System.pas][System][TObject.FreeInstance][18366]
B3A85D [System.pas][System][@ClassDestroy$qqrxp14System.TObject][19730]
ED3B1F [System.JSON.pas][System.JSON][Json.TJSONArray.Destroy][3438]
B3A223 [System.pas][System][TObject.Free][18429]
ED2BB1 [System.JSON.pas][System.JSON][Json.TJSONPair.Destroy][2893]
B3A223 [System.pas][System][TObject.Free][18429]
ED2F08 [System.JSON.pas][System.JSON][Json.TJSONObject.Destroy][3049]
B3A223 [System.pas][System][TObject.Free][18429]
2522105 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetColorCount][1166]
25226AF [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetOrders][1240]
BC0620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
The current thread ID is 0x2B18, and the stack trace (return addresses) leading to this error is:
B3A223 [System.pas][System][TObject.Free][18429]
252210D [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetColorCount][1167]
25226AF [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetOrders][1240]
BC0620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
BC0A05 [System.Rtti.pas][System.Rtti][Rtti.Invoke$qqrpvx42System.%DynamicArray$18System.Rtti.TValue%24System.Typinfo.TCallConvp24System.Typinfo.TTypeInfooo][8971]
B3E445 [System.pas][System][@FinalizeRecord$qqrpvt1][33317]
115F7BD [XData.Aurelius.Model.pas][XData.Aurelius.Model][Aurelius.Model.TXDataAureliusModel.GetActionInfo][490]
429336 [GetRawStackTrace]
B52C30 [FastMM4.pas][FastMM4][FastFreeMem$qqrpv][6336]
B541B8 [FastMM4.pas][FastMM4][DebugFreeMem$qqrpv][9847]
B541CD [FastMM4.pas][FastMM4][DebugFreeMem$qqrpv][9854]
Current memory dump of 256 bytes starting at pointer address 7D203400:
8C CC 60 02 80 80 80 80 80 80 80 80 80 80 80 80 1F 5E 88 6C 80 80 80 80 00 00 00 00 60 D9 1F 7D
00 00 00 00 00 00 00 00 48 3F B5 00 00 00 00 00 C2 82 03 00 BA 72 B3 00 0F A1 B3 00 12 A8 B3 00
F4 A1 B3 00 80 E5 2D 01 91 CF 2E 01 94 CE 2E 01 06 D5 2E 01 DF E8 2E 01 7B EA 2E 01 6A C3 52 01
18 2B 00 00 18 2B 00 00 2D A1 B3 00 5D A8 B3 00 16 A2 B3 00 23 A2 B3 00 E2 05 50 01 C8 E0 50 01
D5 A6 50 01 BC 2B 51 01 CD 85 52 01 67 8B 52 01 92 8C 52 01 14 00 00 00 60 76 2E 01 D0 F4 49 96
C8 4A BD 00 78 CC 1C 7D 0A 00 00 00 0C 00 00 00 00 00 00 00 2F 0B B6 69 00 00 00 00 60 D9 1F 7D
00 00 00 00 00 00 00 00 48 3F B5 00 00 00 00 00 BF 82 03 00 BA 72 B3 00 0F A1 B3 00 12 A8 B3 00
F4 A1 B3 00 80 E5 2D 01 91 CF 2E 01 94 CE 2E 01 06 D5 2E 01 DF E8 2E 01 7B EA 2E 01 6A C3 52 01
` . . ^ l . . . . ` . }
. . . . . . . . H ? . . . . . . . r . . . . .
. - . . . . . . . . . . { . . j R .
. + . . . + . . - . ] . . . # . . P . P .
P . + Q . R . g R . R . . . . . ` v . . I
J . x . } . . . . . . . . . . . . / . i . . . . ` . }
. . . . . . . . H ? . . . . . . . r . . . . .
. - . . . . . . . . . . { . . j R .
--------------------------------2025/11/21 15:20:54--------------------------------
FastMM has detected an attempt to call a virtual method on a freed object. An access violation will now be raised in order to abort the current operation.
Freed object class: System.JSON.TJSONArray
Virtual method: Destroy
Virtual method address: 1143A9C
The allocation number was: 232619
The object was allocated by thread 0x32A4, and the stack trace (return addresses) at the time was:
DAA10F [System.pas][System][TObject.NewInstance][18357]
DAA812 [System.pas][System][@ClassCreate$qqrpvzc][19687]
1143952 [System.JSON.pas][System.JSON][Json.TJSONArray.Create][3392]
1140509 [System.JSON.pas][System.JSON][Json.TJSONByteReader.FlushString][1843]
11408F7 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseArray][2031]
1140A96 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseValue][2084]
1140842 [System.JSON.pas][System.JSON][Json.TJSONValue.ParsePair][2013]
11436A7 [System.JSON.pas][System.JSON][Json.TJSONObject.Parse][3281]
11407A6 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseObject][1992]
1140A84 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseValue][2082]
1141432 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseJSONValue][2331]
The object was subsequently freed by thread 0x32A4, and the stack trace (return addresses) at the time was:
DAA12D [System.pas][System][TObject.FreeInstance][18366]
DAA85D [System.pas][System][@ClassDestroy$qqrxp14System.TObject][19730]
1143B1F [System.JSON.pas][System.JSON][Json.TJSONArray.Destroy][3438]
DAA223 [System.pas][System][TObject.Free][18429]
1142BB1 [System.JSON.pas][System.JSON][Json.TJSONPair.Destroy][2893]
DAA223 [System.pas][System][TObject.Free][18429]
1142F08 [System.JSON.pas][System.JSON][Json.TJSONObject.Destroy][3049]
DAA223 [System.pas][System][TObject.Free][18429]
2792131 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetColorCount][1166]
27926DB [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetOrders][1240]
E30620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
The current thread ID is 0x32A4, and the stack trace (return addresses) leading to this error is:
DAA223 [System.pas][System][TObject.Free][18429]
2792139 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetColorCount][1167]
27926DB [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.GetOrders][1240]
E30620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
E30A05 [System.Rtti.pas][System.Rtti][Rtti.Invoke$qqrpvx42System.%DynamicArray$18System.Rtti.TValue%24System.Typinfo.TCallConvp24System.Typinfo.TTypeInfooo][8971]
DAE445 [System.pas][System][@FinalizeRecord$qqrpvt1][33317]
13CF7BD [XData.Aurelius.Model.pas][XData.Aurelius.Model][Aurelius.Model.TXDataAureliusModel.GetActionInfo][490]
429336 [GetRawStackTrace]
DC2C30 [FastMM4.pas][FastMM4][FastFreeMem$qqrpv][6336]
DC41B8 [FastMM4.pas][FastMM4][DebugFreeMem$qqrpv][9847]
DC41CD [FastMM4.pas][FastMM4][DebugFreeMem$qqrpv][9854]
Current memory dump of 256 bytes starting at pointer address 7D813360:
8C CC 87 02 80 80 80 80 80 80 80 80 80 80 80 80 4F 4F A6 68 80 80 80 80 00 00 00 00 60 D9 80 7D
00 00 00 00 00 00 00 00 48 3F DC 00 00 00 00 00 C2 82 03 00 BA 72 DA 00 0F A1 DA 00 12 A8 DA 00
F4 A1 DA 00 80 E5 54 01 91 CF 55 01 94 CE 55 01 06 D5 55 01 DF E8 55 01 7B EA 55 01 6A C3 79 01
A4 32 00 00 A4 32 00 00 2D A1 DA 00 5D A8 DA 00 16 A2 DA 00 23 A2 DA 00 E2 05 77 01 C8 E0 77 01
D5 A6 77 01 BC 2B 78 01 CD 85 79 01 67 8B 79 01 92 8C 79 01 14 00 00 00 60 76 55 01 48 03 53 9A
C8 4A E4 00 78 CC 7D 7D 0A 00 00 00 0C 00 00 00 00 00 00 00 B7 FC AC 65 00 00 00 00 60 D9 80 7D
00 00 00 00 00 00 00 00 48 3F DC 00 00 00 00 00 BF 82 03 00 BA 72 DA 00 0F A1 DA 00 12 A8 DA 00
F4 A1 DA 00 80 E5 54 01 91 CF 55 01 94 CE 55 01 06 D5 55 01 DF E8 55 01 7B EA 55 01 6A C3 79 01
. O O h . . . . ` }
. . . . . . . . H ? . . . . . . . r . . . . .
. T . U . U . . U . U . { U . j y .
2 . . 2 . . - . ] . . . # . . w . w .
w . + x . y . g y . y . . . . . ` v U . H . S
J . x } } . . . . . . . . . . . . e . . . . ` }
. . . . . . . . H ? . . . . . . . r . . . . .
. T . U . U . . U . U . { U . j y .
--------------------------------2025/11/21 15:22:53--------------------------------
FastMM has detected an attempt to call a virtual method on a freed object. An access violation will now be raised in order to abort the current operation.
Freed object class: System.JSON.TJSONObject
Virtual method: GetHashCode
Virtual method address: 11A33C
The allocation number was: 643128
The object was allocated by thread 0x2E14, and the stack trace (return addresses) at the time was:
1172BA [System.pas][System][@GetMem$qqri][4966]
11A10F [System.pas][System][TObject.NewInstance][18357]
11A812 [System.pas][System][@ClassCreate$qqrpvzc][19687]
4B2D26 [System.JSON.pas][System.JSON][Json.TJSONObject.Create][2962]
11A880 [System.pas][System][@AfterConstruction$qqrxp14System.TObject][19736]
4B078E [System.JSON.pas][System.JSON][Json.TJSONValue.ParseObject][1990]
4B0A84 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseValue][2082]
4B1432 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseJSONValue][2331]
4B1601 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseJSONValue][2389]
1B09A99 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.AddCorrugatedOrder][1837]
1A0620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
The object was subsequently freed by thread 0x2E14, and the stack trace (return addresses) at the time was:
11A12D [System.pas][System][TObject.FreeInstance][18366]
11A85D [System.pas][System][@ClassDestroy$qqrxp14System.TObject][19730]
4B2F39 [System.JSON.pas][System.JSON][Json.TJSONObject.Destroy][3054]
11A223 [System.pas][System][TObject.Free][18429]
1B0A1A7 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.AddCorrugatedOrder][1916]
1A0620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
1A0A05 [System.Rtti.pas][System.Rtti][Rtti.Invoke$qqrpvx42System.%DynamicArray$18System.Rtti.TValue%24System.Typinfo.TCallConvp24System.Typinfo.TTypeInfooo][8971]
11E445 [System.pas][System][@FinalizeRecord$qqrpvt1][33317]
73F7BD [XData.Aurelius.Model.pas][XData.Aurelius.Model][Aurelius.Model.TXDataAureliusModel.GetActionInfo][490]
6909336 [GetRawStackTrace]
132C30 [FastMM4.pas][FastMM4][FastFreeMem$qqrpv][6336]
The current thread ID is 0x2E14, and the stack trace (return addresses) leading to this error is:
176B99 [System.Generics.Defaults.pas][System.Generics.Defaults][Generics.Defaults.GetHashCode_Class$qqrp40System.Generics.Defaults.TSimpleInstancexp14System.TObject][1201]
499226 [System.Generics.Collections.pas][Bcl.Json.BaseObjectConverter][Generics.Collections.%TDictionary__2$p14System.TObjecti%.Hash][7854]
499F9F [System.Generics.Collections.pas][Bcl.Json.BaseObjectConverter][Generics.Collections.%TDictionary__2$p14System.TObjecti%.ContainsKey][8197]
77FD2A [Bcl.Collections.pas][XData.Payload.Reader][Collections.%THashSet__1$p14System.TObject%.Contains][482]
7EEF47 [XData.Server.Module.pas][XData.Server.Module][Server.Module.TActionExecuter.Execute][2913]
11B654 [System.pas][System][@HandleFinally$qqrv][22108]
4C4FB8 [System.Rtti.pas][Bcl.Json.ValueConverter][Rtti.TValue.%AsType$p22System.Json.TJSONValue%$qqrxo$p22System.Json.TJSONValue][2711]
774E4522 [Unknown function at RtlInterlockedCompareExchange64]
774E44F4 [Unknown function at RtlInterlockedCompareExchange64]
7749EA32 [RtlUnwind]
96DFF2 [CRVio][ReadFromBuffer]
Current memory dump of 256 bytes starting at pointer address 7D6A7770:
8C CC BE 01 80 80 80 80 80 80 80 80 80 80 80 80 42 21 2A 75 80 80 80 80 00 00 00 00 30 3F 6A 7D
00 00 00 00 00 00 00 00 48 3F 13 00 00 00 00 00 4C CE 09 00 BA 72 11 00 97 C0 11 00 34 C5 11 00
C8 5F 1E 00 D5 8C 1E 00 12 A8 11 00 4D D2 9C 00 98 1D 9C 00 EF 6A 9F 00 68 FF 1E 00 95 01 1F 00
14 2E 00 00 BC 03 00 00 D6 72 11 00 51 C1 11 00 04 E4 11 00 0D A2 11 00 F1 A2 11 00 26 A1 11 00
5D A8 11 00 96 7F 1E 00 23 A2 11 00 A2 1F 9C 00 23 A2 11 00 12 00 00 00 B0 04 02 00 E5 2E 7D 81
B0 04 02 00 01 00 00 00 02 00 00 00 0D 00 0A 00 00 00 1A D1 82 7E 80 80 00 00 00 00 30 3F 6A 7D
00 00 00 00 00 00 00 00 48 3F 13 00 00 00 00 00 8A C4 09 00 BA 72 11 00 0F A1 11 00 12 A8 11 00
36 0A 69 00 FA 09 69 00 73 08 69 00 65 8E 8B 00 52 94 8B 00 B3 8C 8B 00 4C 92 8B 00 74 D6 77 00
. B ! * u . . . . 0 ? j }
. . . . . . . . H ? . . . . . . L . . r . . . . 4 . .
_ . . . . . . . M . . . j . h . . . . .
. . . . . . . r . . Q . . . . . . . . . . & . .
] . .  . . # . . . . # . . . . . . . . . . }
. . . . . . . . . . . . . . . . . . ~ . . . . 0 ? j }
. . . . . . . . H ? . . . . . . . . r . . . . . . . .
6 . i . . i . s . i . e . R . . L . t w .
--------------------------------2025/11/21 15:22:55--------------------------------
FastMM has detected an attempt to call a virtual method on a freed object. An access violation will now be raised in order to abort the current operation.
Freed object class: System.JSON.TJSONObject
Virtual method: Destroy
Virtual method address: 4B2ED4
The allocation number was: 643128
The object was allocated by thread 0x2E14, and the stack trace (return addresses) at the time was:
1172BA [System.pas][System][@GetMem$qqri][4966]
11A10F [System.pas][System][TObject.NewInstance][18357]
11A812 [System.pas][System][@ClassCreate$qqrpvzc][19687]
4B2D26 [System.JSON.pas][System.JSON][Json.TJSONObject.Create][2962]
11A880 [System.pas][System][@AfterConstruction$qqrxp14System.TObject][19736]
4B078E [System.JSON.pas][System.JSON][Json.TJSONValue.ParseObject][1990]
4B0A84 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseValue][2082]
4B1432 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseJSONValue][2331]
4B1601 [System.JSON.pas][System.JSON][Json.TJSONValue.ParseJSONValue][2389]
1B09A99 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.AddCorrugatedOrder][1837]
1A0620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
The object was subsequently freed by thread 0x2E14, and the stack trace (return addresses) at the time was:
11A12D [System.pas][System][TObject.FreeInstance][18366]
11A85D [System.pas][System][@ClassDestroy$qqrxp14System.TObject][19730]
4B2F39 [System.JSON.pas][System.JSON][Json.TJSONObject.Destroy][3054]
11A223 [System.pas][System][TObject.Free][18429]
1B0A1A7 [Lookup.ServiceImpl.pas][Lookup.ServiceImpl][Serviceimpl.TLookupService.AddCorrugatedOrder][1916]
1A0620 [System.Rtti.pas][System.Rtti][Rtti.RawInvoke$qqrpvp23System.Rtti.TParamBlock][8726]
1A0A05 [System.Rtti.pas][System.Rtti][Rtti.Invoke$qqrpvx42System.%DynamicArray$18System.Rtti.TValue%24System.Typinfo.TCallConvp24System.Typinfo.TTypeInfooo][8971]
11E445 [System.pas][System][@FinalizeRecord$qqrpvt1][33317]
73F7BD [XData.Aurelius.Model.pas][XData.Aurelius.Model][Aurelius.Model.TXDataAureliusModel.GetActionInfo][490]
6909336 [GetRawStackTrace]
132C30 [FastMM4.pas][FastMM4][FastFreeMem$qqrpv][6336]
The current thread ID is 0x2E14, and the stack trace (return addresses) leading to this error is:
11A223 [System.pas][System][TObject.Free][18429]
7EA24B [XData.Server.Module.pas][XData.Server.Module][Server.Module.TXDataRequestHandler.DestroyIfNotInManagers][1679]
49A25D [System.Generics.Collections.pas][Bcl.Json.BaseObjectConverter][Generics.Collections.%TDictionary__2$p14System.TObjecti%.TKeyEnumerator.DoGetCurrent][8279]
7E82A3 [XData.Server.Module.pas][XData.Server.Module][Server.Module.TXDataRequestHandler.CleanUp][1267]
7890CC [XData.Module.Base.pas][XData.Module.Base][Module.Base.TXDataBaseRequestHandler.InnerProcessRequest][869]
11B654 [System.pas][System][@HandleFinally$qqrv][22108]
774E4522 [Unknown function at RtlInterlockedCompareExchange64]
774E44F4 [Unknown function at RtlInterlockedCompareExchange64]
7749EA32 [RtlUnwind]
68E44E5
774AA77C [ZwRaiseException]
Current memory dump of 256 bytes starting at pointer address 7D6A7770:
8C CC BE 01 80 80 80 80 80 80 80 80 80 80 80 80 42 21 2A 75 80 80 80 80 00 00 00 00 11 84 6A 7D
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4C CE 09 00 BA 72 11 00 97 C0 11 00 34 C5 11 00
C8 5F 1E 00 D5 8C 1E 00 12 A8 11 00 4D D2 9C 00 98 1D 9C 00 EF 6A 9F 00 68 FF 1E 00 95 01 1F 00
14 2E 00 00 14 2E 00 00 D6 72 11 00 51 C1 11 00 04 E4 11 00 0D A2 11 00 F1 A2 11 00 26 A1 11 00
5D A8 11 00 96 7F 1E 00 23 A2 11 00 93 D2 9C 00 23 A2 11 00 12 00 00 00 B0 04 02 00 E6 CC 6A 81
8C CC BE 01 80 80 80 80 80 80 80 80 80 80 80 80 80 80 19 33 95 7E 80 80 00 00 00 00 30 3F 6A 7D
00 00 00 00 00 00 00 00 48 3F 13 00 00 00 00 00 8A C4 09 00 BA 72 11 00 0F A1 11 00 12 A8 11 00
36 0A 69 00 FA 09 69 00 73 08 69 00 65 8E 8B 00 52 94 8B 00 B3 8C 8B 00 4C 92 8B 00 74 D6 77 00
. B ! * u . . . . . j }
. . . . . . . . . . . . . . . . L . . r . . . . 4 . .
_ . . . . . . . M . . . j . h . . . . .
. . . . . . . . r . . Q . . . . . . . . . . & . .
] . .  . . # . . . # . . . . . . . . . j
. . 3 ~ . . . . 0 ? j }
. . . . . . . . H ? . . . . . . . . r . . . . . . . .
6 . i . . i . s . i . e . R . . L . t w .
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment