The Wiert Corner – irregular stream of stuff

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

  • My badges

  • Twitter Updates

  • 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

DataSnap in the Cloud – DelphiFeeds.com

Posted by jpluimers on 2013/05/22

On my research list (Thanks Uwe!): DataSnap in the Cloud – DelphiFeeds.com.

It shows you how to do DataSnap from the Azure clound, including getting some of the default Delphi database demos to work on SQL Server (erm, SQL Azure).

–jeroen

Posted in Delphi, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | Leave a Comment »

Windows Message Loop and Application Reentrancy

Posted by jpluimers on 2013/05/21

One of the things you must be careful with is reentrancy in your application through a message loop.

The most obvious way is Application.ProcessMessages: it will loop until all messages from the Windows message queue are processed, whether your application is ready for them or not.

A less obvious way is because of modal dialogs or forms. They have their own message loop which might cause global reentrancy in your application (for instance through TTimer objects).

That was the case for this problem: stack overflow with repeated DispatchMessageW in the call stack.

A couple of ways to try to avoid these issues:

  • Don’t cause a secondary message loop.
    You can refrain from calling Application.ProcessMessages, but you cannot always avoid modal dialogs.
  • Protect each of your event handlers by disabling the path to it as soon as it gets called.
    This means disabling the Enabled property for instance of TTimer, TControl, TAction, or other objects that cause events.

–jeroen

via: windows – stack overflow with repeated DispatchMessageW in the call stack – Stack Overflow.

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

Interesting: CrossLoop (Free Screen Sharing and Remote Access Solutions)

Posted by jpluimers on 2013/05/20

CrossLoop is on my list of software to  try out soon:

Free screen sharing software and remote access solutions. Get affordable Technical Support & Computer Help with money back guarantee.

–jeroen

via: Free Screen Sharing and Remote Access Solutions.

Posted in Power User, Windows, Windows 7, Windows Vista, Windows XP | Leave a Comment »

1213: Combination Vision Test – explain xkcd

Posted by jpluimers on 2013/05/17

LOL, I didn’t know about “XKCD Explained”, but since I didn’t know about synesthesia, I found 1213: Combination Vision Test – explain xkcd.

Now I wonder how they created the colorized picture in an efficient manner (:

Probably would have been just as fast to dim the 0, 4, 6, and 8 digits.

–jeroen

Posted in Comics | Leave a Comment »

A Consuming Experience: Windows – no disk Exception Processing Message c0000013 Parameters 75b6bf9c 4 75b6bf9c 75b6bf9c – fixed!

Posted by jpluimers on 2013/05/17

Sometimes I get messages like the below No Disk error on virtual machines, mainly in Windows XP and lower, but sometimes in more recent Windows versions too.

---------------------------
Windows - No Disk
---------------------------
Exception Processing Message c0000013 Parameters 75b6bf7c 4 75b6bf7c 75b6bf7c
---------------------------
Cancel   Try Again   Continue
---------------------------

The 0xc0000013 is a No Disk Exception.

Every time the solution has been to uninstall the floppy drive device from the VM image.

I never had it on physical hardware, but for that, disabling all unused removable and USB disk devices seem to work.

Somehow, lots of software thinks it should scan ALL media, even the removable ones that might not have media inserted.

–jeroen

via: A Consuming Experience: Windows – no disk Exception Processing Message c0000013 Parameters 75b6bf9c 4 75b6bf9c 75b6bf9c – fixed!.

Posted in Power User, Windows, Windows 7, Windows 8, Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP | Leave a Comment »

memories of the past: BitSavers.org just added a whole bunch CRAY documents

Posted by jpluimers on 2013/05/16

Nobody but very wealthy research institutions could afford CRAY machines.

They were the computing workhorse of their time. Now your smartphone is faster (:

BitSavers just added a bunch of CRAY documentation of the 1980s and early 1990s.

–jeroen

Posted in BitSavers.org, History, Power User | Tagged: , , | Leave a Comment »

Great questions from Iris “Asking a ‘stupid’ question, every day for 365 days”

Posted by jpluimers on 2013/05/16

For 10 months ago, Iris started Asking a ‘stupid’ question, every day for 365 days.

Virtually all of them very valid questions that remind me of various stages in my software career, and will remind me during the stages still to come.

Her motto is “there is no such thing as a stupid question”.

I agree, and would go even further: keep the questions coming every day of your life, as it is the only way of learning.

Recommended reading!

–jeroen

via: For 10 months ago, Iris started Asking a ‘stupid’ question, every day for 365 days ».

Posted in Development, Software Development | 1 Comment »

Don’t pass interfaces between application architectures over a DLL boundary

Posted by jpluimers on 2013/05/15

It is unwise to pass objects allocated in one framework over a DLL boundary to a different framework.

In the case of Using C dll in delphi return nothing, someone tries to pass an Interface to some memory in the C side over to Delphi.

Unless that interface is COM based, don’t do that!

In a more general way: don’t pass memory allocated on the DLL side over to the client side, no matter what kind of client you have.

From the DLL, either pass simple types, or fill buffers allocated at the client side.

Edit:

There was a nice Delphi DLL return string from C# … .NET 4.5 Heap Corruption but .NET 4.0 works? Explain please? – Stack Overflow question explaining in detail what to do for strings in a specific case: use the COM heap on the Delphi side using CoTaskMemAlloc (actually it uses the OLE task memory allocator as the Old New Thing explains).

–jeroen

via: Using C dll in delphi return nothing – Stack Overflow.

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Delphi, Delphi 1, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | 5 Comments »

A few notes on Delphi, WSDL and SOAP: passing nil values, Document/Literal versus RPC Encoded

Posted by jpluimers on 2013/05/14

I had some notes on Delphi WSDL and SOAP peculiarities somewhere, but I misplaced them.

Luckily, I found some links that explain most of my notes well:

–jeroen

Posted in Conference Topics, Conferences, Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Development, Event, SOAP/WebServices, Software Development | Leave a Comment »

Relevant files for ssh-keygen – Wikipedia, the free encyclopedia

Posted by jpluimers on 2013/05/13

Edit:

After writing this, DSA got deprecated then later removed. See [WayBack] Secure Secure Shell.

When working with SSH private/public keys (often because of ssh-keygen), and using DSA for auhtentication, these are the relevant files:

  • $HOME/.ssh/id_dsa:
    (on the local system)
    The $HOME/.ssh/id_dsa file contains the protocol version 2 DSA authentication identity of the user.
  • $HOME/.ssh/id_dsa.pub:
    (on the local system)
    The $HOME/.ssh/id_dsa.pub file contains the DSA public key for authentication when you are using the SSH protocol version 2. A user should copy its contents in the $HOME/.ssh/authorized_keys file of the remote system where a user wants to log in using DSA authentication.
  • $HOME/.ssh/authorized_keys:
    (on the remote system)
    The $HOME/.ssh/authorized_keys file contains authorized DSA public keys (each line is the contents of a $HOME/.ssh/id_dsa.pub file) of users on systems that are auhorized to login on the remote system.

Important:

Be sure to transfer the contents of the local $HOME/.ssh/id_dsa.pub file to the remote system in a secure way.

–jeroen

via ssh-keygen – Wikipedia, the free encyclopedia.

Posted in *nix, Apple, Cygwin, Endian, Linux, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.4 Tiger, Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard, Mac OS X 10.7 Lion, OS X 10.8 Mountain Lion, Power User | Leave a Comment »