PgDAC 6.1 - Widememo

Discussion of open issues, suggestions and bugs regarding PgDAC (PostgreSQL Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
dmytrodubrovin
Posts: 10
Joined: Wed 17 Jul 2019 06:26

PgDAC 6.1 - Widememo

Post by dmytrodubrovin » Mon 01 Mar 2021 12:10

A simple SQL query (varchar field) results in Widememo. When using other components and tools for debugging queries, this problem is not. The problem is in your components. I am using PgDAC 6.1. How do I fix this problem?

dmytrodubrovin
Posts: 10
Joined: Wed 17 Jul 2019 06:26

Re: PgDAC 6.1 - Widememo

Post by dmytrodubrovin » Mon 01 Mar 2021 12:38

When trying to manually set field parameters (string) - destructive failure:

Code: Select all

[20A22217]{coreide260.bpl} StructureView.TStructureViewServices.WndProc (Line 1158, "StructureView.pas" + 3) + $B
[50068FD8]{rtl260.bpl  } System.@CheckAutoResult (Line 39488, "System.pas" + 4) + $6
[20A22217]{coreide260.bpl} StructureView.TStructureViewServices.WndProc (Line 1158, "StructureView.pas" + 3) + $B
[50179C9C]{rtl260.bpl  } System.Classes.StdWndProc (Line 17959, "System.Classes.pas" + 11) + $2
[50CFCABD]{vcl260.bpl  } Winapi.CommCtrl.TaskDialogIndirect (Line 13252, "Winapi.CommCtrl.pas" + 2) + $A
[50DB8CC3]{vcl260.bpl  } Vcl.Dialogs.TCustomTaskDialog.DoExecute (Line 5737, "Vcl.Dialogs.pas" + 88) + $C
[5005FD5E]{rtl260.bpl  } System.@CallDynaInst (Line 18212, "System.pas" + 4) + $0
[50DB8FC1]{vcl260.bpl  } Vcl.Dialogs.TCustomTaskDialog.Execute (Line 5863, "Vcl.Dialogs.pas" + 2) + $4
[50DBAE0A]{vcl260.bpl  } Vcl.Dialogs.TTaskMessageDialog.Execute (Line 6666, "Vcl.Dialogs.pas" + 1) + $0
[50DB8FAB]{vcl260.bpl  } Vcl.Dialogs.TCustomTaskDialog.Execute (Line 5857, "Vcl.Dialogs.pas" + 9) + $8
[50DBAFB7]{vcl260.bpl  } Vcl.Dialogs.InternalDoTaskMessageDlgPosHelp (Line 6726, "Vcl.Dialogs.pas" + 45) + $7
[50DBA451]{vcl260.bpl  } Vcl.Dialogs.MessageDlgPosHelp (Line 6482, "Vcl.Dialogs.pas" + 3) + $2C
[50DBA19E]{vcl260.bpl  } Vcl.Dialogs.MessageDlg (Line 6338, "Vcl.Dialogs.pas" + 1) + $E
[22F259C5]{dcldb260.bpl} DSDefine.ErrorMsg (Line 290, "DSDefine.pas" + 1) + $B
[22F25E61]{dcldb260.bpl} DSDefine.TDefineField.OkBtnClick (Line 345, "DSDefine.pas" + 39) + $1A
[50D157EB]{vcl260.bpl  } Vcl.Controls.TControl.Click (Line 7536, "Vcl.Controls.pas" + 9) + $8
[50D3B5FE]{vcl260.bpl  } Vcl.StdCtrls.TCustomButton.Click (Line 5470, "Vcl.StdCtrls.pas" + 3) + $2
[50D3C114]{vcl260.bpl  } Vcl.StdCtrls.TCustomButton.CNCommand (Line 5931, "Vcl.StdCtrls.pas" + 1) + $B
[50D15292]{vcl260.bpl  } Vcl.Controls.TControl.WndProc (Line 7420, "Vcl.Controls.pas" + 91) + $6
[50092A4F]{rtl260.bpl  } System.SysUtils.AnsiCompareText (Line 7110, "System.SysUtils.pas" + 1) + $2F
[50162822]{rtl260.bpl  } System.Classes.TStringList.CompareStrings (Line 7696, "System.Classes.pas" + 7) + $1
[50161F4E]{rtl260.bpl  } System.Classes.TStringList.Find (Line 7382, "System.Classes.pas" + 8) + $1
[5016210E]{rtl260.bpl  } System.Classes.TStringList.IndexOf (Line 7452, "System.Classes.pas" + 23) + $13
[080CEE95]{themeloader260.bpl} Idetheme.Updater.TCustomIDEThemeUpdater.ContainsFormClass + $D
[5005A264]{rtl260.bpl  } System.@FreeMem (Line 4878, "System.pas" + 20) + $0
[50061CD1]{rtl260.bpl  } System.@UStrArrayClr (Line 25654, "System.pas" + 16) + $0
[080A1D07]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.FreeControlHooks + $18B
[080A1D69]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.HandleMessage + $4D
[50067A1C]{rtl260.bpl  } System.@IntfClear (Line 38276, "System.pas" + 10) + $0
[5006404C]{rtl260.bpl  } System.@FinalizeArray (Line 32929, "System.pas" + 144) + $0
[080A25E2]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.UnRegisterSysStyleHook + $106
[50D197BC]{vcl260.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10122, "Vcl.Controls.pas" + 10) + $48
[50D19D47]{vcl260.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10278, "Vcl.Controls.pas" + 166) + $6
[50069812]{rtl260.bpl  } System.UTF8ToString (Line 39859, "System.pas" + 1) + $4
[50D3B2A8]{vcl260.bpl  } Vcl.StdCtrls.TButtonControl.WndProc (Line 5307, "Vcl.StdCtrls.pas" + 13) + $4
[50D14ECC]{vcl260.bpl  } Vcl.Controls.TControl.Perform (Line 7198, "Vcl.Controls.pas" + 10) + $8
[50D19EAB]{vcl260.bpl  } Vcl.Controls.DoControlMsg (Line 10347, "Vcl.Controls.pas" + 12) + $11
[50D1A92F]{vcl260.bpl  } Vcl.Controls.TWinControl.WMCommand (Line 10622, "Vcl.Controls.pas" + 1) + $5
[50E68661]{vcl260.bpl  } Vcl.Forms.TCustomForm.WMCommand (Line 6488, "Vcl.Forms.pas" + 6) + $4
[50D15292]{vcl260.bpl  } Vcl.Controls.TControl.WndProc (Line 7420, "Vcl.Controls.pas" + 91) + $6
[50092A4F]{rtl260.bpl  } System.SysUtils.AnsiCompareText (Line 7110, "System.SysUtils.pas" + 1) + $2F
[50162822]{rtl260.bpl  } System.Classes.TStringList.CompareStrings (Line 7696, "System.Classes.pas" + 7) + $1
[50161F4E]{rtl260.bpl  } System.Classes.TStringList.Find (Line 7382, "System.Classes.pas" + 8) + $1
[5016210E]{rtl260.bpl  } System.Classes.TStringList.IndexOf (Line 7452, "System.Classes.pas" + 23) + $13
[080CEE95]{themeloader260.bpl} Idetheme.Updater.TCustomIDEThemeUpdater.ContainsFormClass + $D
[5005A264]{rtl260.bpl  } System.@FreeMem (Line 4878, "System.pas" + 20) + $0
[50061CD1]{rtl260.bpl  } System.@UStrArrayClr (Line 25654, "System.pas" + 16) + $0
[080A1D07]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.FreeControlHooks + $18B
[080A1D69]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.HandleMessage + $4D
[50067A1C]{rtl260.bpl  } System.@IntfClear (Line 38276, "System.pas" + 10) + $0
[5006404C]{rtl260.bpl  } System.@FinalizeArray (Line 32929, "System.pas" + 144) + $0
[080A25E2]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.UnRegisterSysStyleHook + $106
[50D197BC]{vcl260.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10122, "Vcl.Controls.pas" + 10) + $48
[50D19D47]{vcl260.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10278, "Vcl.Controls.pas" + 166) + $6
[50E652E1]{vcl260.bpl  } Vcl.Forms.TCustomForm.WndProc (Line 4652, "Vcl.Forms.pas" + 209) + $5
[080A1D69]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.HandleMessage + $4D
[50D19314]{vcl260.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 9977, "Vcl.Controls.pas" + 3) + $6
[50179C9C]{rtl260.bpl  } System.Classes.StdWndProc (Line 17959, "System.Classes.pas" + 11) + $2
[218C5147]{vclactnband260.bpl} Vcl.ActnMenus.CallWindowHook (Line 757, "Vcl.ActnMenus.pas" + 20) + $F
[5005FE0F]{rtl260.bpl  } System.TObject.Dispatch (Line 18426, "System.pas" + 11) + $0
[08069252]{themeloader260.bpl} Idetheme.Vclstylehooks.TIDEStyleHook.WndProc + $7A
[08069BF8]{themeloader260.bpl} Idetheme.Vclstylehooks.TMouseTrackControlIDEStyleHook.WndProc + $0
[080710FC]{themeloader260.bpl} Idetheme.Vclstylehooks.TFormIDEStyleHook.WndProc + $24
[08071191]{themeloader260.bpl} Idetheme.Vclstylehooks.TFormIDEStyleHook.WndProc + $B9
[50069B07]{rtl260.bpl  } System.UnicodeFromLocaleChars (Line 40992, "System.pas" + 1) + $F
[50D19E56]{vcl260.bpl  } Vcl.Controls.TWinControl.DefaultHandler (Line 10319, "Vcl.Controls.pas" + 30) + $19
[50D15C38]{vcl260.bpl  } Vcl.Controls.TControl.WMLButtonUp (Line 7669, "Vcl.Controls.pas" + 1) + $6
[50D15292]{vcl260.bpl  } Vcl.Controls.TControl.WndProc (Line 7420, "Vcl.Controls.pas" + 91) + $6
[50092A4F]{rtl260.bpl  } System.SysUtils.AnsiCompareText (Line 7110, "System.SysUtils.pas" + 1) + $2F
[50162822]{rtl260.bpl  } System.Classes.TStringList.CompareStrings (Line 7696, "System.Classes.pas" + 7) + $1
[50161F4E]{rtl260.bpl  } System.Classes.TStringList.Find (Line 7382, "System.Classes.pas" + 8) + $1
[5016210E]{rtl260.bpl  } System.Classes.TStringList.IndexOf (Line 7452, "System.Classes.pas" + 23) + $13
[080CEE95]{themeloader260.bpl} Idetheme.Updater.TCustomIDEThemeUpdater.ContainsFormClass + $D
[5005A264]{rtl260.bpl  } System.@FreeMem (Line 4878, "System.pas" + 20) + $0
[50061CD1]{rtl260.bpl  } System.@UStrArrayClr (Line 25654, "System.pas" + 16) + $0
[080A1D07]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.FreeControlHooks + $18B
[080A1D69]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.HandleMessage + $4D
[50067A1C]{rtl260.bpl  } System.@IntfClear (Line 38276, "System.pas" + 10) + $0
[50D19503]{vcl260.bpl  } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 10033, "Vcl.Controls.pas" + 1) + $9
[080A25E2]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.UnRegisterSysStyleHook + $106
[50D19D47]{vcl260.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10278, "Vcl.Controls.pas" + 166) + $6
[50D3B2A8]{vcl260.bpl  } Vcl.StdCtrls.TButtonControl.WndProc (Line 5307, "Vcl.StdCtrls.pas" + 13) + $4
[50D19314]{vcl260.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 9977, "Vcl.Controls.pas" + 3) + $6
[50179C9C]{rtl260.bpl  } System.Classes.StdWndProc (Line 17959, "System.Classes.pas" + 11) + $2
[50ECEACF]{vcl260.bpl  } Vcl.AppEvnts.TMultiCaster.GetAppEvents (Line 657, "Vcl.AppEvnts.pas" + 1) + $B
[50E6ECCF]{vcl260.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 10747, "Vcl.Forms.pas" + 23) + $1
[50E6ED12]{vcl260.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 10777, "Vcl.Forms.pas" + 1) + $4
[50E6A0B2]{vcl260.bpl  } Vcl.Forms.TCustomForm.ShowModal (Line 7479, "Vcl.Forms.pas" + 33) + $5
[22F29D48]{dcldb260.bpl} DSDesign.TFieldsEditor.DoNewField (Line 1052, "DSDesign.pas" + 19) + $5
[22F29BE9]{dcldb260.bpl} DSDesign.TFieldsEditor.NewItemClick (Line 981, "DSDesign.pas" + 2) + $3
[50E5378D]{vcl260.bpl  } Vcl.Menus.TMenu.FindItem (Line 3474, "Vcl.Menus.pas" + 2) + $F
[50E520F2]{vcl260.bpl  } Vcl.Menus.TMenuItem.Click (Line 2563, "Vcl.Menus.pas" + 19) + $8
[50E5381F]{vcl260.bpl  } Vcl.Menus.TMenu.DispatchCommand (Line 3507, "Vcl.Menus.pas" + 5) + $2
[50E54AAA]{vcl260.bpl  } Vcl.Menus.TPopupList.WndProc (Line 4680, "Vcl.Menus.pas" + 4) + $E
[5006030C]{rtl260.bpl  } System.TMonitor.CheckOwningThread (Line 19122, "System.pas" + 2) + $0
[5006062E]{rtl260.bpl  } System.TMonitor.Exit (Line 19312, "System.pas" + 1) + $2
[5006068A]{rtl260.bpl  } System.TMonitor.Exit (Line 19334, "System.pas" + 2) + $7
[50CF65D7]{vcl260.bpl  } Vcl.Graphics.FreeMemoryContexts (Line 7138, "Vcl.Graphics.pas" + 12) + $8
[50D19314]{vcl260.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 9977, "Vcl.Controls.pas" + 3) + $6
[50E549F9]{vcl260.bpl  } Vcl.Menus.TPopupList.MainWndProc (Line 4655, "Vcl.Menus.pas" + 2) + $5
[50179C9C]{rtl260.bpl  } System.Classes.StdWndProc (Line 17959, "System.Classes.pas" + 11) + $2
[50E6ECCF]{vcl260.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 10747, "Vcl.Forms.pas" + 23) + $1
[50E6ED12]{vcl260.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 10777, "Vcl.Forms.pas" + 1) + $4
[50E6F045]{vcl260.bpl  } Vcl.Forms.TApplication.Run (Line 10915, "Vcl.Forms.pas" + 26) + $3
[0051D06E]{bds.exe     } bds.bds (Line 214, "" + 7) + $7

https://postimg.cc/1VNb5dnW

dmytrodubrovin
Posts: 10
Joined: Wed 17 Jul 2019 06:26

Re: PgDAC 6.1 - Widememo

Post by dmytrodubrovin » Mon 01 Mar 2021 14:11

It helps:

Code: Select all

procedure TForm1.PgQuery1ThisFieldGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
   Text := Sender.AsString;
end;
It's a shame for paid components. When will you fix it?

oleg0k
Devart Team
Posts: 190
Joined: Wed 11 Mar 2020 08:28

Re: PgDAC 6.1 - Widememo

Post by oleg0k » Thu 25 Mar 2021 13:38

Hello,
The issue may occur because the size of the character varying field wasn't defined in the table. Please try to set the UnknownAsString property to True for your PgQuery (or PgTable), e.g. PgQuery.Options.UnknownAsString:=True.
or use the Data Type Mapping functionality, e.g.
PgQuery.DataTypeMap.AddFieldNameRule('f_memo', ftString, 1024);
For more information, see https://www.devart.com/pgdac/docs/data_type_mapping.htm

wbr, Oleg
Devart Team

Post Reply