Log On
Embarcadero Home
Watch, Follow, &
Connect with Us
Share This
QualityCentral
Communities
Articles
Blogs
Resources
Downloads
Help
QualityCentral
Delphi-BCB
Database
ADO
Azure
Blackfish SQL
CAB File
Config Maintenance
Core VCL
Data Access Controls
Data Aware Controls
Data Dictionary
Data Explorer
Data module
Database Tools
DataSnap
DBExpress
TFMTBcd
TSimpleDataset
TSQLClientDataSet
TSQLConnection
TSQLDataSet
TSQLMonitor
TSQLQuery
TSQLStoredProc
TSQLTable
TSqlTimeStamp
Unicode Support
dbExpressCore
Debug Layer
Decision Cube Controls
Drivers
Environmental
Fields Editor
Form Wizard
Int'l Lang Driver
Performance
Remote Data Module
Sessions
Super Join
System Level Info
TField
TParams
You are not logged in.
Help
Print
Public Report
Report From:
Delphi-BCB/Database/DBExpress
[ Add a report in this area ]
Report #:
89242
Status:
Closed
Access violation in dbxfb.dll
Project:
Delphi
Build #:
15.0.3890.34076
Version:
15.0
Submitted By:
Gyula Berzsan
Report Type:
Crash / Data loss / Total failure
Date Reported:
10/26/2010 3:42:37 AM
Severity:
Critical / Show Stopper
Last Updated:
3/20/2012 2:24:39 AM
Platform:
All versions
Internal Tracking #:
280988
Resolution:
Fixed
(Resolution Comments)
Resolved in Build:
:
Hotfix
Duplicate of:
None
Voting and Rating
Overall Rating:
No Ratings Yet
0.00 out of 5
Total Votes:
15
Description
I get access violation in dbxfb.dll every time I read value of an ftMemo field of TSQLQuery.
After the query opened I can read the value but the second attempt raises access violation every time.
I tried to use older version of dbxfb.dll (14.0.3615.26342) and the access violation disappeared. I just replaced the dll.
I created a sample application to test it.
Steps to Reproduce:
Added by Sysop
<<<<<<<<<<<<<
If we read TMemoField TWICE, we get AV at second access.
Both FieldValues['memo'] and FieldByName('memo').AsBytes fail.
-------------
with Query do begin
if Active then Log.Lines.Add(FieldValues['memo']);
end;
-------------
-------------
with Query do begin
if Active then Log.Lines.Add(TEncoding.Default.GetString(FieldByName('memo').AsBytes));
end;
-------------
>>>>>>>>>>>>>
Workarounds
None
Attachment
dbxfb-test.zip
Comments
Gyula Berzsan at 10/26/2010 3:51:41 AM
-
The sample is <a href="http://www.infocentrum.hu/dbxfb-test.zip">here</a>.
Gyula Berzsan at 10/26/2010 3:56:22 AM
-
It seems HTML is not allowed. So the sample is here:
http://www.infocentrum.hu/dbxfb-test.zip
Tomohiro Takahashi at 10/26/2010 10:51:56 PM
-
I attached the .zip fle to this report instead of you.
What version of Firebird do you use?
What character set do you use in your database file?
> ... ftMemo field ...
Could you provide more detail about your table schema?
Gyula Berzsan at 10/26/2010 11:45:49 PM
-
Hi,
thank you for the attachment.
> What version of Firebird do you use?
I use Firebird embedded database version 1.5.6. The used fbclient.dll is in the attachment. (you can run Project1.exe without installing firebird server)
Character set is not defined in the database. I don't think this could be the problem.
The database file is also in the attachment.
The database has only 1 table.
CREATE TABLE test (id INTEGER, name VARCHAR(32), memo BLOB SUB_TYPE TEXT);
The test table has only 1 row.
INSERT INTO test (id, name, memo) VALUES (1, 'foo', 'bar bar bar');
In a TSQLQuery named Query I open query:
SELECT * FROM test WHERE id=1;
This query fetches 1 row.
First time I read Query.FieldValues['memo'] I get 'bar bar bar'. When I read it again I get access violation.
Run the Project1.exe then press 'Open query' the press 'Read memo' twice!
Thank you,
Gyula Berzsan
Tomohiro Takahashi at 10/28/2010 12:39:48 AM
-
Indeed, if I read TMemoField twice, I get AV at second access..
Both FieldValues['memo'] and FieldByName('memo').AsBytes fail.
-------------
with Query do begin
if Active then Log.Lines.Add(FieldValues['memo']);
end;
-------------
-------------
with Query do begin
if Active then Log.Lines.Add(TEncoding.Default.GetString(FieldByName('memo').AsBytes));
end;
-------------
Tomohiro Takahashi at 3/24/2011 6:28:10 PM
-
Please see this article.
[Hotfixes for Delphi XE, C++Builder XE and RAD Studio XE]
http://edn.embarcadero.com/article/41312#2RADStudioXEHotfixforRAIDQC
And, of course, you can also download all of updates/hotfixes via Registered Users Page.
http://cc.embarcadero.com/myreg
View Your Reports
Search
Server Response from: ETNACODE01
Developer Tools
Blackfish SQL
C++Builder
Delphi
FireMonkey
Prism
InterBase
JBuilder
J Optimizer
HTML5 Builder
3rdRail & TurboRuby
Database Tools
Change Manager
DBArtisan
DB Optimizer
ER/Studio
Performance Center
Rapid SQL
Technical Articles
Tutorials
White Papers
Press Releases
Newsletters
Add Content (GetPublished)
Audio
Audio & Video
Video
Bugs & Suggestions (QualityCentral)
Discussion Forums
Examples (CodeCentral)
Tags
Technology Partners
Downloads
Free Trials
Registered User Downloads
Beta Programs
Add Content (GetPublished)
Articles
Blogs
Bugs & Suggestions (QualityCentral)
Discussion Forums
Examples (CodeCentral)
Member Services
About
Connect with Us