You are not logged in.
Pages: 1

I got an AV while using SynCommons.pas and FastMM4.pas.
The AV has ocurred at the MOVE procedure, what is replaced by the SynCommons (internal move)...
I solved the problem using PUREPASCAL definition...
My suggestion is to create a DEFINITION to disable this optimization (copyrecord, move, etc.) in the SynCommons.pas.
I wasn't able to reproduce the AV with a sample code, sorry (I will continue trying..)
Offline
I think there is one of your objects which is used/accessed after having been released.
We are running FastMM4 in full debug mode on our regression tests - more than 6,300,000 individual checks are performed.
There is no memory leak nor invalid access violation with those tests.
The overloaded MOVE version is very stable: this is the one officially included into Delphi since Delphi 2007.
I suggest you run your code using FastMM4 in full debug mode, to get a list of possible memory corruption.
This would be better than disabling the new MOVE code - if your code is non stable, it may break later on your customer side.
You can also use our logging feature to get the exception trace when the A/V occurs.
Offline

This was my AV:
[007526ED] SynCommons.Move (Line 8576, "JJWCommon\Third Part\pdf\SynCommons.pas" + 21) + $0 
[0068219D] Windows.CopyMemory + $1 
[0069F583] pngimage.TChunkIHDR.Assign (Line 2233, "JJWCommon\Third Part\PngImage\pngimage.pas" + 14) + $19 
[006A43F8] pngimage.TPNGObject.AssignPNG (Line 5300, "JJWCommon\Third Part\PngImage\pngimage.pas" + 15) + $1A 
[006A28B0] pngimage.TPNGObject.Assign (Line 4409, "JJWCommon\Third Part\PngImage\pngimage.pas" + 6) + $11 
[016898DE] Graphics.TPicture.SetGraphic + $2A 
[0070CBBE] JJWDBImage.TJJWDBImage.FDataLinkDataChange (Line 303, "JJWComponents\JJWDBImage.pas" + 21) + $12 
[4080B2B8] Dbctrls.TFieldDataLink.RecordChanged + $18 
[4080B0D8] Dbctrls.TFieldDataLink.SetField + $18 
[4080B114] Dbctrls.TFieldDataLink.UpdateField + $30 
[4080B21D] Dbctrls.TFieldDataLink.ActiveChanged + $5 
[40348A2D] Db.TDataLink.SetActive + $21 
[40348A5C] Db.TDataLink.UpdateState + $18 
[40348B76] Db.TDataLink.DataEvent + $E 
[4080B2FF] Dbctrls.TFieldDataLink.DataEvent + $F 
[403491B1] Db.TDataSource.NotifyLinkTypes + $3D 
[403491E2] Db.TDataSource.NotifyDataLinks + $1E 
[40348FEA] Db.TDataSource.SetState + $16 
[40349031] Db.TDataSource.UpdateState + $15 
[403491FC] Db.TDataSource.DataEvent + $10 
[4034DB78] Db.TDataSet.DataEvent + $130 
[402F8288] Dbclient.TCustomClientDataSet.DataEvent + $58 
[4034BC89] Db.TDataSet.SetState + $21 
[4034C1BB] Db.TDataSet.OpenCursorComplete + $47 
[4034C0EB] Db.TDataSet.SetActive + $77 
[4034C12F] Db.TDataSet.SetActive + $BB 
[4034BF14] Db.TDataSet.Open + $4 
[00741EC0] UJJWDBXDataModule.TJJWDBXDataModule.SQLOpen (Line 1370, "JJWMiddleManagers\SQLManager\UJJWDBXDataModule.pas" + 7) + $6 
[0658EFB3] Ufrmfatnfs.TFrmFATNFS.LnkPESPessoasClientesClick + $7F 
[01701C38] Controls.TControl.Click + $64 
[016A80FC] Buttons.TSpeedButton.Click + $0 
[00833F26] JJWUIChildFormLinkButton.TJJWUIChildFormLinkButton.Click (Line 216, "JJWManagersComponents\JJWUIChildFormLinkButton.pas" + 94) + $2 
[016A80E6] Buttons.TSpeedButton.MouseUp + $E2 
[01702024] Controls.TControl.DoMouseUp + $2C 
[01702099] Controls.TControl.WMLButtonUp + $69 
[01701A98] Controls.TControl.WndProc + $188 
[00834150] JJWUIChildFormLinkButton.TJJWUIChildFormLinkButton.WndProc (Line 296, "JJWManagersComponents\JJWUIChildFormLinkButton.pas" + 1) + $2 
[01701868] Controls.TControl.Perform + $24 
[01704B2E] Controls.TWinControl.IsControlMouseMsg + $82 
[4000341A] System.@GetMem + $A 
[01704C1A] Controls.TWinControl.WndProc + $DA 
[40006F33] System.@LStrFromPCharLen + $23 
[01704914] Controls.TWinControl.MainWndProc + $2C 
[4003E038] Classes.TDataModule.WriteHeight + $20 
[017506AD] Appevnts.TCustomApplicationEvents.DoMessage + $D 
[0172568B] Forms.TApplication.ProcessMessage + $83 
[017256C2] Forms.TApplication.HandleMessage + $A 
[017258F2] Forms.TApplication.Run + $96 
(000244B3) [004254B3]
Offline
Pages: 1