Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/ActiveX/Framework    [ Add a report in this area ]  
Report #:  108100   Status: Closed
[Regression in XE2] AV occurs when pass empty string to DispInterface method
Project:  Delphi Build #:  16.0.4429.46931
Version:    16.4 Submitted By:   Jack Wu
Report Type:  Crash / Data loss / Total failure Date Reported:  8/20/2012 7:11:09 PM
Severity:    Critical / Show Stopper Last Updated: 9/5/2012 7:43:20 PM
Platform:    All versions Internal Tracking #:   31231
Resolution: Fixed (Resolution Comments) Resolved in Build: : 17.0.4625.53395
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
Added by Sysop
<<<<<<
This fatal regression is same as QC#106388.
Please see [Steps] and attached projects.
>>>>>>

Recently, I created a simple COM object which contains a interface and a dispinterface. The dispinterface only has one method which pass a single string parameter.

I also created a simple c# project to reference the COM object. Unfortunately, when pass a empty string to the dispinterace method, it would cause an AV error. The error message is "Access violation at address 74FF9B60 in module 'msvcrt.dll'. Read of address 15DCF000"

This bug is critical for our team, hope we can get the hotfix as soon as possible.
Steps to Reproduce:
I have attached the probjects which contain two projects, one is written by Delphi(COM project) and another is written by C#(App project).

Just Launch the C# App, input the some word into the left side text box, click the Send button, the inputed words would appear on the right side text box. Try to change the word of right side box, click the Back button, normally, the left side would appear a SQL scritps.

Please open the COM project, take a look on WndProc function in Launcher.pas. There are two cases, line 84 is failed case and line 87 is sucessful case. Obviously if you just replace one space with empty string, the SQL scripts will appear the left side text box.
Workarounds
None
Attachment
Projects.zip
Comments

Tomohiro Takahashi at 8/21/2012 12:15:56 AM -
Is this issue a regression in Delphi XE2? What about previous versions of Delphi?
Could you please attach simple sample projects(COM and App) to reproduce your issue?

> This bug is critical for our team, hope we can get the hotfix as soon as possible.
As you know, QualityCentral is just for reporting area. If you need more intensive support, please contact technical support service. Sorry for the inconvenience.
http://support.embarcadero.com/

Jack Wu at 8/21/2012 8:13:28 PM -
Please open the COM project, take a look on WndProc function in Launcher.pas. There are two cases, line 84 is failed case and line 87 is sucessful case. Obviously if you just replace one space with empty string, the SQL scripts will appear the left side text box.

Jack Wu at 8/21/2012 7:51:28 PM -
Just Launch the C# App, input the some word into the left side text box, click the Send button, the inputed words would appear on the right side text box. Try to change the word of right side box, click the Back button, normally, the left side would appear a SQL scritps.

Jack Wu at 8/21/2012 7:46:28 PM -
Hi Tomohiro, I have attached the probjects which contain two projects, one is written by Delphi(COM project) and another is written by C#(App project).                        

Tomohiro Takahashi at 8/20/2012 11:47:29 PM -
Is your issue same as QC#106388 ?

Jack Wu at 8/21/2012 7:15:47 PM -
Hi Tomohiro,  I guess it is same issue. My previous Delphi version is Delphi 2009, it has not this problem with Delphi 2009.

Tomohiro Takahashi at 8/22/2012 6:33:04 AM -
This report was opened with valid Internal Tracking Number.
Thanks.

Tomohiro Takahashi at 8/22/2012 7:27:11 PM -
We hope this issue will be fixed in next major release(e.g., Delphi XE3).
So, if possible, please retest your issue with it in the future...

Jack Wu at 8/23/2012 2:00:30 AM -
Hi Tomohiro, is there a possible way to fix ourselves? Thanks.

Tomohiro Takahashi at 8/23/2012 5:52:30 AM -
Please contact technical support service. Sorry for the inconvenience.
http://support.embarcadero.com/

Server Response from: ETNACODE01