The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘Development’ Category

Pointers to value and to reference types (was: delphi – Why does TValue.Make require a pointer to an object reference? – Stack Overflow)

Posted by jpluimers on 2012/05/30

Delphi seemingly makes the distinction between reference and value types disappear, especially because it hides the ^derefererncing operator for most usages:

  • there is no ^ dereferencing operator when following “class” type object instances, “interface” references and “object” type object instances, strings, open arrays and dynamic arrays: the dereferencing is implicit
  • usually you do not need the ^ dereferencing operator when

Rudy Velthuis wrote a great article on pointers in general. Though it was in the Delphi 2009 timeframe, almost everything is very valid. A few things are missing, some additions are below.

I’m not going into deep detail here right now, just a few notes to get people interested going.

Hopefully I will some time in the future to either go into more detail, or point to articles that do.

  1. “object” style object instances.
    Those have been deprecated since Delphi 1 (which introduced “class” style objects), but there are still libraries that use them, and (almost unbeleivable): they are supported in Delphi x64
  2. anonymous method references
  3. Events (method references) aka the “procedure … of object”/”function … of object”
    are implemented using the underlying TMethod type from the System unit
    always use the “Assigned” method to check if both the Data and Method field are non-nil

Even with those additions to Rudy’s list, I’m not 100% sure everything is complete now (:

–jeroen

via: delphi – Why does TValue.Make require a pointer to an object reference? – Stack Overflow.

Posted in Delphi, Development, Software Development | 4 Comments »

What you need on your Mac to develop for OS X or iOS using Delphi XE2

Posted by jpluimers on 2012/05/29

Just a few notes on things I told Delphi cross development students over the last nine months or so.

For Mac OS X apps:

  • The Platform Assistant Server that ships with Delphi XE2

For iOS apps:

Steps:

  1. Become a registered Apple Developer
  2. Download and install xCode 4 when you run on OS X 10.7 Lion or higher, or
    Download and install xCode 3 when you run on OS X 10.6 Leopard
  3. Download and install FreePascal 2.4.4
xCode includes the iOS SDK
Delphi uses the Delphi compatibility mode of FreePascal.

–jeroen

via: Developer Tools Overview – Apple Developer.

Posted in Delphi, Delphi XE2, Development, Software Development, xCode/Mac/iPad/iPhone/iOS/cocoa | 1 Comment »

Interesting: Electric Imp with Arduino (via: electric imp – developer kits)

Posted by jpluimers on 2012/05/28

Electric Imp – that wants to power The Internet of Things using imps – is introducing some really interesting hardware, one of the devevelopment kits combining Arduino and Imp on one board:

Duino: Arduino, with Imp

Featuring an ATMEGA328 processor, this board is compatible with the Arduino Uno but instead of having a USB-serial port on it, it has an Imp socket. You can use a modified version of the Arduino IDE to update the ATMEGA code from anywhere in the world when an Imp is plugged in, and use simple serial commands in your Arduino programs to control other Imp devices.

The ATMEGA will operate standalone when no imp card is inserted.

Dimensions: 72mm x 54mm x 14mm

Power supply: USB Mini-B socket (5v) or 2.1mm barrel jack (7-12v)

Price: $20

Some must read links:

–jeroen

via: electric imp – developer kits.

Posted in Arduino, Hardware Development, Hardware Interfacing, USB | 2 Comments »

Some on-line XPath testing tools that support namespaces and XPath functions

Posted by jpluimers on 2012/05/24

In the previous post, you saw some XPath to find the ProviderManifestToken attribute in an .edmx file.

Writing XPath queries can be quite consuming, so it is nice of you can test it somewhere on-line.

Out of the on-line XPath testers, these two worked best:

Both of them support namespaces, including these XPath functionslocal-name and namespace-uri.

These failed:

If you have more on-line tools that work: please let me know!

Edit (20120524T0930):

Danny Thorpe tweeted an interesting comment:

@jpluimers If you’re compiling XPath support, make note of whether it’s XPATH 1.0 or 2.0. I think .NET only implements XPATH 1.0

Indeed, .NET only supports XPath 1.0, and worse, .NET 4 introduced a couple of issues with XSLT (see XPath and XSLT 2.0 for .NET? – Stack Overflow).

Luckily there are some goot XPath 2.0 libraries for .NET (see XPath 2.0 Libraries for .Net – Stack Overflow).

–jeroen

via: XPath tools on not-another-blog

Posted in Development, Software Development, XML, XML/XSD, XPath | Leave a Comment »

The ADO.NET Entity Framework and SQL Server 2000: the ProviderManifestToken attribute and selecting it with XPath

Posted by jpluimers on 2012/05/23

Yes. Dorothy. There are people using the ADO .NET Entity Framework with SQL Server 2000  in parallel of moving towards a more modern Microsoft SQL Server version.

Entity Framework is lovely for developing data-centric applications.

By default, Visual Studio 2010 will target SQL Server 2008 as a database. That is fine, but it is kind of invisible it does: there is no property or dialog where you can change this.

What you have to change in order to have the Entity Framework send SQL Server 2000 compatible queries is to:

  1. Right click your .edmx file
  2. Choose “Open with”
  3. Choose the “XML (text) editor”
  4. Find the  ProviderManifestToken attribute
  5. Change the value (usually from “2008”) into “2000”
  6. Save the .edmx file
  7. Build and run your application

A few caveats:

Read the rest of this entry »

Posted in .NET, .NET ORM, C#, C# 2.0, C# 3.0, C# 4.0, Development, EF Entity Framework, Software Development, SQL Server, SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 | Leave a Comment »

How do I disable the fault-tolerant heap? – The Old New Thing – Site Home – MSDN Blogs

Posted by jpluimers on 2012/05/22

Raymond Chen:

what if you don’t want the fault-tolerant heap? For example, during program development, you probably want to disable the fault-tolerant heap for your program: If the program is crashing, then it should crash so you can debug it!

–jeroen

via: How do I disable the fault-tolerant heap? – The Old New Thing – Site Home – MSDN Blogs.

Posted in Development, Software Development | Leave a Comment »

SoupUI – as sometimes that is the only thing that works (via: SmartBear Forum • View topic – The JVM could not be started – Soap UI)

Posted by jpluimers on 2012/05/17

When trying to dissect .NET 1.1 web services from their .asmx and WSDL, you need some tooling.

You’d think the WCF Test Client works, but it only partially generates the calls; it gets the methods OK, but not the parameters.

Importing the .NET WebService in Visual Studio is another option, but not for a “quick play around with the calls”.

For that, Soap UI seems a good option.

If you know better tools, please let me know in the comments.

It works, and when you get it to work it is dead slow (it keeps one core running at 50%).

Getting it to work gives many people this kind of error message: Read the rest of this entry »

Posted in .NET, C#, Development, SOAP/WebServices, Software Development | Leave a Comment »

Adding a “Reverse Assignment” to CodeRush for Visual Studio .NET (via: Q35048 – DevExpress Support Center, Knowledge Base, Code Samples)

Posted by jpluimers on 2012/05/16

As a Delphi user, I’m missing the “Reverse Assignment” feature in the Visual Studio version of CodeRush.

Since CodeRush is very extendable (Mark is still explaining to people how the idea for that came from Delphi Packages back in the mid 90s), you can add this one yourself, as the a answer to this DevExpress support issue shows:

Q:

Is there a quick way to reverse the assignment in CodeRush?  For example:

FROM:
Field[“test1”] = edTest1.Value;
Field[“test2”] = edTest2.Value;

TO:
edTest1.Value = Field[“test1”];
edTest2.Value = Field[“test2”];

I know Delphi had this capability in its refactoring, does CodeRush for Visual Studio?

Thanks

Daniel Schipper


Read the rest of this entry »

Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, Development, Software Development, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools | Leave a Comment »

Some research links on “change assemblyversion during checkin ccnet” – via Google Search

Posted by jpluimers on 2012/05/15

(Thanks to a “Missed Post” problem on WordPress.com, this one didn’t get posted on the scheduled date. Sorry for any inconvenience)

One of the next steps in the automated build process I’m setting up is increasing AssemblyVersion values after succesful builds.

It is is in a CCnet / TFS2010 / VS2010 environment.

Some links:

–jeroen

via: change assemblyversion during checkin ccnet – Google Search.

Posted in .NET, C#, Continuous Integration, CruiseControl.net, Development, Missed Schedule, SocialMedia, Software Development, Source Code Management, TFS (Team Foundation System), WordPress | Leave a Comment »

Checking which applications have a TCP connection to SQL Server (DTAP)

Posted by jpluimers on 2012/05/15

When in a DTAP environment, you cannot always have complete clean boundaries. Issues in production don’t reproduce in acceptance, you cannot develop in production, etc.

So sometimes you have to simulate or connect to Test or Acceptance Database Servers from a Develop workstation.

There it can get hairy to keep track of which applications connect to which database server.

That’s where the below batch file comes in handy: it scans your systems on connections to common TCP ports used by SQL server, then for each connection give you some process details (or – if you add a commandline parameter – all details that TLINK can get).

The batch file uses the built in tools tasklist, netstat, find and sc (the latter to show information on the local running SQL Services).

It also uses TLIST, which can be a bit awkward to get.

Read the rest of this entry »

Posted in .NET, Batch-Files, CSV, Database Development, Development, Scripting, Software Development, SQL, SQL Server, SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 7 | Leave a Comment »