Delphi Prism XE Update 1に関する修正リスト

By: Tomohiro Takahashi

Abstract: これは、今回のアップデートで修正された問題のうち、Quality Centralで報告された問題の一覧です。

以下は、Delphi Prism XE Update 1 で修正された不具合のうち、QCで報告されたものの一覧です。今回のアップデートは以下からダウンロード可能です。 http://cc.embarcadero.com/reg/delphi_prism.

QC番号: 報告された日付: エリア:
81175 1/14/2010 IDE\VS Integration
説明: 手順:
[QC Short Description]
"Go to code" link does nothing in WinForms "broken designer" page.

[QC Description]
When you break the code behind the WinForms designer, the designer will not display your form. Instead it displays the "broken designer" page, which states "to prevent possible data loss before loading the designer, the following errors must be resolved:" In that page there are tabs for each designer error. At the top of a tab page, there is a link that says "Go to code". The link does nothing. 

I also think that the link under "Instances of this error" should jump to that code and it does not do so. I suspect they're related.
QC Entry 81175

(RO37485)
Create a new winforms application. Drop a button on the form. Double-click the button to create a click handler. CTRL-SHIFT-S to Save all. Remove the MainForm.button1_Click handler method body from the implementation. Remove the button1_Click method from teh MainForm class interface declaration. Double-click the Main.pas node of the solution explorer tree to open the MainForm designer. You now see the "broken designer" page as expected. In the yellow bar in the middle, there is a link to "Go to code". Click on it and it does nothing. The code location link under "Instances of this error" also does nothing, and I suspect it should function identically to the "Go to code" link.
QC番号: 報告された日付: エリア:
84544 5/11/2010 Compiler
説明: 手順:
[QC Short Description]
Unable to use [x,y] syntax on array of array of

[QC Description]
When defining an 'n' dimensional array as (eg) array of array of single, prism demands that you use separate sets of square brackets for each dimension, whereas win32 allows you to put all the dimensions in one set of square brackets separated by commas.
QC Entry 84544

(RO40325)
Define an array (for example) procedure test; var x : array of array of single begin // ... init the array dimensions // then x[0,0] := 1.0; // fails here // ... x[0][0] := 1.0; // this is ok. end;
QC番号: 報告された日付: エリア:
84836 5/23/2010 Compiler
説明: 手順:
[QC Short Description]
Problem Using Ling Count vs List Count

[QC Description]
See steps.
QC Entry 84836

(RO40686)
Tried to use the Linq Count method var stringPropertyCount := model.Properties.Count<PropInfo>( (p) -> p.DataType = typeof(String)); where model.Properties is a property of type System.Collections.Generic.List<PropInfo> The compiler thinks I'm trying to reference List<PropInfo>.Count so it doesn't like the "<" after Count. The compler missed that I was making a refererence to the Linq IEnumerable.Count<>() method. So, I added a type-cast to IEnumerable<> var stringPropertyCount := IEnumerable<PropInfo>(model.Properties).Count<PropInfo>( (p) -> p.DataType = typeof(String)); and then it compiled. You shouldn't need the cast. The List IS an IEnumerable.
QC番号: 報告された日付: エリア:
84837 5/23/2010 Compiler
説明: 手順:
[QC Short Description]
Reference to regular methods vs generic methods

[QC Description]
See steps
QC Entry 84837

(RO40685)
I have a static class ExecuteHelper which contains the following methods with the same names class method TryCatchLog(action: Action); class method TryCatchLog(errorMessage: String; action: Action); class method TryCatchLog(errorMessage: String; log: ILog; action: Action); class method TryCatchLog<T>(errorMessage: String; action: Func<T>): T; class method TryCatchLog<T>(errorMessage: String; log: ILog; action: Func<T>): T; I'm trying to reference this with this statement ExecuteHelper.TryCatchLog(error, -> File.WriteAllText(fileName, sql)); This gives me a (PE240) Generic parameter "T" for this method call could not be fully resolved. Hmmmm, do you think you could have just used the SECOND TryCatchLog method and IGNORED T? The only way I could get this to compile was to go along with specifying a T and using a Func instead of an Action. ExecuteHelper.TryCatchLog<Boolean>(error, -> begin File.WriteAllText(fileName, sql); exit true; end);
QC番号: 報告された日付: エリア:
85892 7/2/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
VS2010 - Provide CC for compiler directives

[QC Description]
There is no CC for compiler directives.
It should be available when we type {$.
Can also be merged with QC #85806, when typing only {.
QC Entry 85892

(RO41563)
 
QC番号: 報告された日付: エリア:
86606 7/27/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
VS2010 - Class fields and CC

[QC Description]
When a class define more than 1 class field, only the first one is visible in code completion.
QC Entry 86606

(RO42444)
1. Create a new console application. 2. Replace the code in Program.pas with: namespace ConsoleApplication1; interface type ConsoleApp = class public class Field1 : Int32; Field2 : Int32; public class method Main(args: array of string); end; implementation class method ConsoleApp.Main(args: array of string); begin var a := F // Position the cursor after the "F" end; end. 3. Place the cursor after the "F" and invoke class completion: Field1 is displayed, but not Field2.
QC番号: 報告された日付: エリア:
86753 7/30/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
VS2010 - Selecting Go To Definition and long method

[QC Description]
When you select a long method in the interface section and select Go To Definition the cursor is put at the beginning of the method but the scroller show the end of it.
QC Entry 86753

(RO42441)
 
QC番号: 報告された日付: エリア:
86758 7/30/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
VS2010: constant value in tool-tips

[QC Description]
When I move the move other an identifier, VS2010 displays the kind of identifier, its name and its type.
When it is over a constant, it should also display the constant value.
QC Entry 86758

(RO42440)
 
QC番号: 報告された日付: エリア:
86759 7/30/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
VS2010: show accessibility for properties

[QC Description]
When the mouse is over a property, a tool-tip displays the read and write access of it, but don't display the accessibilities:

Property MyProp read private write;

shows only read write.
QC Entry 86759

(RO42439)
 
QC番号: 報告された日付: エリア:
87413 8/20/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
How to kill VS2010

[QC Description]
Just by writing some Delphi Prism code, we can kill VS2010.
QC Entry 87413

(RO42926)
1. Create a new Delphi Prism class project. 2. Replace the code in Class1.pas with: namespace ClassLibrary1; interface type Class1 = public class end; Class1 = public Class1 // Enter a ; here to kill VS2010 implementation end. This not a valid program, but VS2010 should never crash with bad source code.
QC番号: 報告された日付: エリア:
87414 8/20/2010 Compiler
説明: 手順:
[QC Short Description]
If expression and nullable values

[QC Description]
When the compiler compiles an if expression (or a case expression) that have integer values and Nil, the resulting type must be nullable Int32 and not object.
Same thing for other nullable types.
QC Entry 87414

(RO42925)
1. Create a new class library. 2. Replace the code in Class1 with: namespace ClassLibrary1; interface type Class1 = public class public method DoSomething; end; implementation method Class1.DoSomething; begin Var a : nullable Int32; a := If Assigned (a) Then a Else Nil end; end. 3. Compile Error 1 (CE15) Type mismatch, cannot assign System.Object to nullable System.Int32 C:\Temp\ClassLibrary1\Class1.pas 16 8 ClassLibrary1
QC番号: 報告された日付: エリア:
87424 8/21/2010 IDE\Project Management
説明: 手順:
[QC Short Description]
Incorrect BuildAction for added include file

[QC Description]
When adding a file to a project to be used as an include file (i.e. *.inc) the BuildAction is set to Content when it should be Compile.
QC Entry 87424

(RO42776)
Create a new console app and then add a .inc file to the project. Attempting to compile will results in a (CE47) File not found ".inc" error.
QC番号: 報告された日付: エリア:
87446 8/22/2010 Compiler
説明: 手順:
[QC Short Description]
Overloaded nested methods

[QC Description]
The compiler doesn't like overloaded method nested in other methods.
QC Entry 87446

(RO42922)
1. Create a new Delphi Prism Class project. 2. Replace the code in Class1.pas with: namespace ClassLibrary1; interface type Class1 = public class public method DoSomething; end; implementation method Class1.DoSomething; method &Do (i : Int32); Begin End; method &Do (s : String); Begin End; begin Var i : Int32; Var s : String; &Do (i); &Do (s) end; end. 3. Compile: Error 1 (PE19) There is no overloaded method "Do" with these parameters C:\Temp\ClassLibrary2\Class1.pas 19 10 ClassLibrary2 Warning 2 (PH2) Best matching "ClassLibrary2.Class1.DoSomething.Do(s: System.String)" doesn't match on parameter 1, parameter is "System.Int32" should be "System.String" C:\Temp\ClassLibrary2\Class1.pas 19 10 ClassLibrary2 The compiler doesn't see the overloads.
QC番号: 報告された日付: エリア:
87798 9/5/2010 IDE
説明: 手順:
[QC Short Description]
Missing default constructor and InitializeComponent call

[QC Description]
When adding a new Silverlight 4 navigation page, there is no constructor created, so InitializeComponent is not called.
QC Entry 87798

(RO43206)
In a silverlight 4 project, add a new item-> new page
QC番号: 報告された日付: エリア:
87898 9/8/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
Class Completion copies attributes on parameters

[QC Description]
If you put attributes on method parameters in the Interface section of a class definition then use Class completion to create the shell of the implementation section, Class completion copies all of the attributes into the implementation section method headers. Then, the compiler gives you a PE139 error that the attribute can be specified only once. Either convince Carlo to not give a compile error (unlikely) or stop copying parameter attributes into the implementation section.
QC Entry 87898

(RO43205)
See description -- seems self explanatory.
QC番号: 報告された日付: エリア:
88060 9/14/2010 Compiler
説明: 手順:
[QC Short Description]
Can't Use a Generic as an Exception Selector

[QC Description]
If you have a generic method such as 

class method ExpectException<TException>(...) where TException is Exception;

you cannot use TException as an exception selector even though it is constrained to be of type Exception.

try
...
except 
on TException do 
exit;
end;

Well, actually you CAN, but you'll get a very hard to find CE7 internal error when you do.
QC Entry 88060

(RO43204)
Example Code sent to Carlo.
QC番号: 報告された日付: エリア:
88176 9/17/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
VS2010: Provide support for Sandcastle documentation

[QC Description]
In VS2010 there is no help from the IDE to write Sandcastle documentation.
QC Entry 88176

(RO43199)
The IDE should provide CC when starting a Sandcastle documentation block: /// < What would be also very nice is to have an automatic creation of documentation block on any class or member. For example, if I have the following method definition. method DoSomething (Text : String; Action : Int32) : Array Of String; The IDE would generate the following comments: /// <summary> /// </summary> /// <param name="Text"></param> /// <param name="Action"></param> /// <returns></returns>
QC番号: 報告された日付: エリア:
88407 9/26/2010 Compiler
説明: 手順:
[QC Short Description]
MetaClass and XML documentation

[QC Description]
When the compiler emits a MetaClass inside another class, it should mark the MetaClass with 
the CompilerGenerated attribute.
Otherwise, Sandcastle will emit documentation for this class and will add messages saying 
that the class is not documented.
QC Entry 88407

(RO43501)
 
QC番号: 報告された日付: エリア:
88408 9/26/2010 Compiler
説明: 手順:
[QC Short Description]
XML documentation for a class property getter

[QC Description]
When a class property has a getter method that is documented with the XML documentation, the 
compiler forgets to export the name of the method.
QC Entry 88408

(RO43500)
1. Create a new class library project. 2. Enable XML documentation on the project. 3. Replace the code in Class1.pas with: namespace ClassLibrary1; interface type /// <summary> /// A class. /// </summary> Class1 = public class private /// <summary> /// Get a value. /// </summary> /// <returns>The value.</returns> class method Get_Value : Int32; empty; public /// <summary> /// A value. /// </summary> /// <returns>The value.</returns> class property Value : Int32 read Get_Value; end; implementation end. 4. Compile The XML documentation file is: <?xml version="1.0"?> <doc> <assembly> <name>ClassLibrary1</name> </assembly> <members> <member name="T:ClassLibrary1.Class1"> <summary> A class. </summary> </member> <member name=""> <!-- NO NAME HERE !!!!! --> <summary> Get a value. </summary> <returns>The value.</returns> </member> <member name="P:ClassLibrary1.Class1.Value"> <summary> A value. </summary> <returns>The value.</returns> </member> </members> </doc>
QC番号: 報告された日付: エリア:
88563 10/1/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
CC don't see class alias in other assembly

[QC Description]
When an assembly references another assembly with a class alias on it, CC doesn't see the class alias.


Added by Sysop
<<<<<<
CC is 'Code Completion'
>>>>>>
QC Entry 88563

(RO43509)
1. Create a new class library (ClassLibrary1). 2. Replace Class1.pas with: namespace ClassLibrary1; interface type Class1 = public class public end; Class1Alias = public Class1; implementation end. 3. Create a new class library solution in the same project (ClassLibrary2). 4. In ClassLibrary2, make a reference to ClassLibrary1. 5. Replace the Class1.pas file of ClassLibrary2 with: namespace ClassLibrary2; interface uses ClassLibrary1; type Class2 = public class public method DoNothing; end; implementation method Class2.DoNothing; begin var a : // <== No Class1Alias in CC end; end.
QC番号: 報告された日付: エリア:
88605 10/4/2010 Compiler
説明: 手順:
[QC Short Description]
Automatic var initialisation requires ':=' when in Delphi Compatibility Mode

[QC Description]
When compiling Delphi code in Prism, this following code casues a syntax error on the '=':

var
MyVar : Integer = 0;

Instead Prism requires it to be

var
MyVar : Integer := 0;

The Delphi compatibility mode allows the use of '=' in default method parameter values. I think this case should also be covered.
QC Entry 88605

(RO43506)
See description.
QC番号: 報告された日付: エリア:
88899 10/12/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
You should be able to configure the color of the caret animation

[QC Description]
Currently the rings are displayed using a purple color, it would be nice if this could be changed.

Since the editor background can be changed, other colors might be more effective.
QC Entry 88899

(RO43800)
 
QC番号: 報告された日付: エリア:
88923 10/13/2010 Compiler
説明: 手順:
[QC Short Description]
Set equality operator does not work

[QC Description]
The set equality and inequality operators do not seem to work in Delphi Prism XE. When I run simple code like this, the sets are not considered equal.

type MyAttribute = (
AttributeA,
AttributeB
);
MyAttributes = set of MyAttribute;

...
var a: MyAttributes := [MyAttribute.AttributeA];

if a = [MyAttribute.AttributeA] then
Console.WriteLine('Equality test succeeds')
else
Console.WriteLine('Equality test fails');

As far as I can see, this is a bug in <PublicImplementationDetails>+Set<T>.op_Equality

According to Reflector the comparison of the array elements looks like this:
if (((num >= a.fValue.Length) ? 0 : a.fValue) != ((num >= b.fValue.Length) ? 0 : b.fValue))

instead of this:

if (((num >= a.fValue.Length) ? 0 : a.fValue[num]) != ((num >= b.fValue.Length) ? 0 : b.fValue[num]))

I.e. it compares the array references instead of the actual elements.
QC Entry 88923

(RO43799)
Compile and run the attached sample program, and watch the output. I expect it to say 'Equality test succeeds' but it does not.
QC番号: 報告された日付: エリア:
88950 10/14/2010 Compiler
説明: 手順:
[QC Short Description]
Malformed conditional directive causes endless error messages

[QC Description]
Certain malformed conditional directives cause endless error messages from the compiler. The Visual Studio 2010 Shell environment becomes unresponsive long enough that you have to terminate it. If you run MSBuild.exe in a command prompt, it gives up after 5000 error messages.

Adding the following line to a class causes the problem (note that the curly bracket before $ENDIF iss missing)
const strs: Array[0..1] of string ={$IFDEF CLR}[{$ELSE}($ENDIF}'A', 'B'];

The error message that keeps repeating is:
...\Program.pas(25,1,25,1): error PE24: "end" expected [...\CondDef.oxygene]
...\Program.pas(25,1,25,1): error PE24: "end" expected [...\CondDef.oxygene]
...\Program.pas(25,1,25,1): error PE24: "end" expected [...\CondDef.oxygene]

This has happened to me a few times when adapting code to be able to compile it in both Delphi/win32 and Delphi Prism, but probably does not happen often during normal programming.
QC Entry 88950

(RO43801)
Create a new console application and add the following line to the public section of the class, or open the attached sample application. const strs: Array[0..1] of string ={$IFDEF CLR}[{$ELSE}($ENDIF}'A', 'B']; Try to build the application. I expect one error message, not an unresponsive IDE due to 5000 error messages.
QC番号: 報告された日付: エリア:
89161 10/22/2010 Compiler
説明: 手順:
[QC Short Description]
Record properties initialized using := in call to constructor are not always set

[QC Description]
I'm having problems using the extended constructor call syntax for initializing properties in records from assemblies not created in Delphi Prism. 

If we pretend that System.Drawing.Point only has a constructor that takes 0 arguments, the following two ways of creating and initializing a Points should be equivalent, shouldn't they?

var p1: System.Drawing.Point := new System.Drawing.Point;
p1.X := 11;
p1.Y := 22;
Console.WriteLine(String.Format('Test system point X={0}, Y={1}', p1.X, p1.Y));

var p2: System.Drawing.Point := new System.Drawing.Point(X := 33, Y := 44);
Console.WriteLine(String.Format('Test system point X={0}, Y={1}', p2.X, p2.Y));

However, if you add the lines above to a console application and add a reference to System.Drawing.dll, the output is:

Test system point X=11, Y=22
Test system point X=0, Y=0

I.e. my property initializations are silently ignored by the compiler!

In my case I was actually trying to initialize an array of records that are from a legacy DLL and only have public fields, no constructors.

If you create the following record in Prism:

MyPoint = public record
public
X: Integer;
property Y: Integer;
end;

This works:

var p3: MyPoint := new MyPoint(X := 55, Y := 66);
Console.WriteLine(String.Format('Test system point X={0}, Y={1}', p3.X, p3.Y));
QC Entry 89161

(RO44440)
Compile and run the attached sample application
QC番号: 報告された日付: エリア:
89162 10/22/2010 Compiler
説明: 手順:
[QC Short Description]
Issue with Nullable types larger than 32 bits and Named Parameters

[QC Description]
If you try to set a property of a type larger than 32 bits to nil as a named parameter in the constructor call, you get a NullReference error at runtime.

In the steps code, from limited testing, if you make the nullable type any type larger than 32 bits, the exception is raised. 

DateTime, Double, Int64 all fail.

I you make the nullable type 32 bits or smaller, it works.

Byte, Integer, Single all work.

And if you set the property to nil after the constructor call instead of in the constructor (commented out code) it works.
QC Entry 89162

(RO44439)
namespace NullableBug; interface type TimeClass = public class public property Time: nullable DateTime read write; end; ConsoleApp = class public class method Main(args: array of string); end; implementation class method ConsoleApp.Main(args: array of string); begin try var T := new TimeClass(Time := nil); // T.Time := nil; Console.WriteLine("Worked!"); except Console.WriteLine("Raised exception!"); end; Console.ReadLine; end; end.
QC番号: 報告された日付: エリア:
89843 11/19/2010 IDE\Code Editor
説明: 手順:
[QC Short Description]
Generic constraints

[QC Description]
The compiler complains on some generic constraints, where it should not.
QC Entry 89843

(RO44657)
If I compile the following code (for a new class library project): namespace ClassLibrary1; interface type DataClass = public class end; GenClass1 <TData> = public class where TData is class; end; GenClass2 <TData> = public class where TData is DataClass; public AField : GenClass1 <TData>; // Error here end; implementation end. The compiler says: c:\Temp\ClassLibrary1\Class1.pas(16,33): error PE148: Generic parameter doesn't validate on "is class" constraint for "TData" But, DataClass is a class so if the TData parameter of GenClass2 is a DataClass, it is also a Class, so it should validate the "Is Class" constraint.
QC番号: 報告された日付: エリア:
90185 12/8/2010 Compiler
説明: 手順:
[QC Short Description]
Generated member should have the CompilerGenerated attribute

[QC Description]
Some members generated automatically be the compiler should have the [CompilerGenerated] attribute.
Those that don't have it are (perhaps not complete list):
- Anonymous methods.
- Methods inside other methods.
- Auto-declared fields for properties.

If they have not this attribute, they will make error entries for automatically generated help files. I'm talking about help files that contains private members, useful for development of an assembly.

For methods inside other methods, the compiler should add the attribute or (better) correctly link the documentation to the method.
QC Entry 90185

(RO44869)
1. Create a new Class Library project: 2. Replace Class1.pas with: namespace ClassLibrary1; interface uses System.Collections.Generic, System.Linq; type Class1 = public class public property MyProp : Int32; method DoSomething; end; implementation method Class1.DoSomething; begin var List := new List <Class1>; var Selected := from Item in List where MyProp > 5; end; end. 3. Select "Generate XML documentation" in the project properties. 4. Compile. 5. Create a help project for the generated assembly and select private and internal members. 6. Compile the help project. 7. Look at the generated help file, it contains entries for <DoSomething>b__0 and @p_MyProp
QC番号: 報告された日付: エリア:
90346 12/15/2010 Compiler
説明: 手順:
[QC Short Description]
Query expression fails at runtime with error "Incorrect number of parameters"

[QC Description]
Note:

You might need to install Sql Server CE 4

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0d2357ea-324f-46fd-88fc-7364c80e4fdb&displaylang=en

and 

http://blogs.msdn.com/b/adonet/archive/2010/12/06/ef-feature-ctp5-released.aspx

both are community tech previews

QC Entry 90346

(RO45251)
1) Open the supplied example and run. At runtime a database is created, so you will need to set the connection string with a valid directory path. expected: The application should run without errors actual: System.ArgumentException is thrown at the following line var otherGrouping := from t in context.Taggings group by t.Tag.Id into item select new Something (Count := item.Count, Name := item.FirstOrDefault.Tag.Name); Note: The line before shown below, uses a anonymous class and runs ok. var grouping := from t in context.Taggings group by t.Tag.Id into item select new class (Id := item.Key, Count := item.Count, Name := item.FirstOrDefault.Tag.Name);
QC番号: 報告された日付: エリア:
90425 12/20/2010 Compiler
説明: 手順:
[QC Short Description]
Silverlight: operation could destabilize the run time!

[QC Description]
I have code in a generic class that looks like this:

Result := New TValue (DBValue := Nb);
Exit;

where TValue is the generic type.
This code compiles fine, but when run in a Silverlight application, I have an exception "Operation could destabilize the run time".

If I write the code without the extended constructor call, the code runs fine!
QC Entry 90425

(RO45552)
** BAD ** Result := New TValue (DBValue := Nb); Exit; local := Activator.CreateInstance<TValue>; local.DBValue := Nb; result := local; L_006c: call !!0 [mscorlib]System.Activator::CreateInstance<!TValue>() L_0071: stloc.3 L_0072: ldloca.s local L_0074: ldloc.2 L_0075: call instance void Fivb.Vis.BaseValueType::set_DBValue(int32) L_007a: ldloc.3 L_007b: stloc.0 L_007c: ldloc.0 L_007d: ret ** OK ** Result := New TValue; Result.DBValue := Nb; Exit; local := Activator.CreateInstance<TValue>; Result := local; Result.DBValue := Nb result := Result; L_006c: call !!0 [mscorlib]System.Activator::CreateInstance<!TValue>() L_0071: stloc.3 L_0072: ldloc.3 L_0073: stloc.0 L_0074: ldloca.s Result L_0076: ldloc.2 L_0077: constrained !TValue // <== missing from BAD code L_007d: callvirt instance void Fivb.Vis.BaseValueType::set_DBValue(int32) L_0082: ldloc.0 L_0083: ret
QC番号: 報告された日付: エリア:
90712 1/5/2011 Compiler
説明: 手順:
[QC Short Description]
Unhandled exception when working with Dynamic Types in MVC3

QC Entry 90712

(RO45549)
1) Open supplied application and run, attempt to view Home/Index in the browser i.e http://localhost:49636/Home/Index Expected: Page should display without any errors Actual: Server error is display in method of HomeController class No properties called "Message" defined on "System.Object" 説明: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: RemObjects.Oxygene.Dynamic.OxygeneBinderException: No properties called "Message" defined on "System.Object" Source Error: Line 20: method HomeController.Index: ActionResult; Line 21: begin Line 22: ViewBag.Message := 'Welcome to ASP.NET MVC!'; Line 23: Line 24: exit View; [OxygeneBinderException: No properties called "Message" defined on "System.Object"] CallSite.Target(Closure , CallSite , Object , String ) +347 System.Dynamic.UpdateDelegates.UpdateAndExecute2(CallSite site, T0 arg0, T1 arg1) +699 DynamicWebApplication.Controllers.HomeController.Index() in c:\develop\DynamicWebApplication\DynamicWebApplication\Controllers\HomeController.pas:22 lambda_method(Closure , ControllerBase , Object[] ) +97 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +208 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
QC番号: 報告された日付: エリア:
91280 2/2/2011 Install
説明: 手順:
[QC Short Description]
Select Delphi Prism Silverlight for Windows Phone template results in Error

[QC Description]
When the Delphi Prism Silverlight for Phone 7 template is started, Visual Studio is raising an error:

"You need to install support for Visual C# by repairing Visual Studio 2010 before creating a Silverlight for Windows Phone project"

I don't think the error is related with a damaged Visual Studio. I think this Delphi template triggers a C# installation and that is
not avaible in my installation of Visual Studio Shell. I only use this Visual Studio for Delphi Prism and there is nothing C# installed. The other Delphi templates are working OK.

I looked a bit to the repair of Visual Studio:

Via Windows Control Panel I try to "Repair" Visual Studio but the only Visual Studio entry in the program list is :

"Microsoft Visual Studio 2010 Shell (Integrated) - ENU"

and I can only REMOVE it. There is no opttion to "REPAIR" it..

I started the SETUP in the Visual Studio folder and indeed there in the install dialog I can Repair it. But i don't have the the disk for Visual Studio. It is installed via Delphi Prism Installation disk. (Media Kit)

I didn't / couldn't do the repair and wait for an answer before
I remove and reinstall Delphi Prism. (The other Delphi Prism templates are still working ok..)

QC Entry 91280

(RO45996)
Start Delphi Prism Visua Studio New Prioject. Select Delphi Prism in the installed Termplates Select "Silverlight for Windows Phone. Select "Windows Phone Application" Error: "You need to install support for Visual C# by repairing Visual Studio 2010 before creating a Silverlight for Windows Phone project"
QC番号: 報告された日付: エリア:
91748 2/23/2011 Compiler
説明: 手順:
[QC Short Description]
Can't compile a Silverlight application with aspects

[QC Description]
When compiling a Silverlight application that contains aspects, the compiler doesn't run the aspects.
The generated error is:
error PE267: Exception during running aspect: Attribute does not implement IBaseAspect.
Compiling a Silverlight DLL is working, but only after the project is rebuild.
QC Entry 91748
 
QC番号: 報告された日付: エリア:
92081 3/8/2011 Compiler
説明: 手順:
[QC Short Description]
Can*t have attribute on first field in class

[QC Description]
If you try to specify an attribute on the first field in a class definition, you get the error "Invalid position for attributes"
QC Entry 92081

(RO46274)
Type the following into the IDE: namespace YieldBreakProblem; interface uses System.Diagnostics; type Class1 = public class private [DebuggerBrowsable(DebuggerBrowsableState.Never)] _field: Char; end; implementation end. Compile, and you'll get an error on the attribute, Define another field first, and the error goes away.
QC番号: 報告された日付: エリア:
92082 3/8/2011 Compiler
説明: 手順:
[QC Short Description]
Exit no longer works in an iterator ("yiield break" equivalent)

[QC Description]
I submitted QC 86917 which lead to "exit" being a way to exit from an iterator. This no longer works -- you get error "CE11 method does not have a result" when you try to use this functionality.
QC Entry 92082

(RO46273)
namespace YieldBreakProblem; interface uses System.Collections.Generic, System.Diagnostics, System.Runtime.CompilerServices; type [&Extension] IEnumerableExtensions = public static class public [&Extension] class method TakeAllOrOne<T>(_enum: IEnumerable<T>; _all: Boolean; _take: Func<T, Boolean>): IEnumerable<T>; iterator; end; implementation class method IEnumerableExtensions.TakeAllOrOne<T>(_enum: IEnumerable<T>; _all: Boolean; _take: Func<T, Boolean>): IEnumerable<T>; begin var first := false; for each el in _enum do begin if first and not _all then exit; // <----- compile error here now! Used to work. if not _take(el) then continue; first := true; yield el; end; end; end.



Server Response from: ETNASC04