Click here to Skip to main content
15,867,686 members

Eddy Vluggen - Professional Profile



Summary

    Blog RSS
5,662
Author
85,259
Authority
94,632
Debator
62
Editor
1,024
Enquirer
16,659
Organiser
13,340
Participant
I'm a Delphi-convert, mostly into WinForms and C#. My first article is from 2001, extending the Delphi-debugger, which is still visible on the WayBackMachine[^] and even available in Russian[^] Smile | :)
31 Dec 2018 CodeProject MVP 2019
31 Dec 2012 MVP: CodeProject MVP 2013
31 Dec 2009 CodeProject MVP 2010

 

Groups

Below is the list of groups in which the member is participating

United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
This is a Collaborative Group
This member has Member status in this group

136 members

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralBookmarks Pin
Eddy Vluggen18-Mar-11 4:14
professionalEddy Vluggen18-Mar-11 4:14 
GeneralRelated Utilities Pin
Eddy Vluggen2-Mar-12 12:10
professionalEddy Vluggen2-Mar-12 12:10 
NewsOnline tools Pin
Eddy Vluggen14-Mar-12 8:21
professionalEddy Vluggen14-Mar-12 8:21 
NewsCustom Controls / Libraries Pin
Eddy Vluggen9-Apr-12 9:54
professionalEddy Vluggen9-Apr-12 9:54 
NewsDebugging Pin
Eddy Vluggen26-Apr-12 22:02
professionalEddy Vluggen26-Apr-12 22:02 
NewsDesign Patterns Pin
Eddy Vluggen17-Jun-12 0:25
professionalEddy Vluggen17-Jun-12 0:25 
GeneralRefactorings Pin
Eddy Vluggen7-Oct-10 12:55
professionalEddy Vluggen7-Oct-10 12:55 
GeneralRe: Refactorings Pin
Vercas26-Dec-10 5:31
Vercas26-Dec-10 5:31 
News.NET related snippets Pin
Eddy Vluggen5-Oct-10 9:58
professionalEddy Vluggen5-Oct-10 9:58 
GeneralTemporaryOverride class Pin
Eddy Vluggen5-Oct-10 10:15
professionalEddy Vluggen5-Oct-10 10:15 
NewsTemporaryOverride class (VB.NET version) Pin
Eddy Vluggen22-Jul-11 4:30
professionalEddy Vluggen22-Jul-11 4:30 
VB.NET
Imports System
Imports System.Collections
Imports System.Reflection
Imports System.IO
Imports System.ComponentModel

Namespace SubSystem
	Public Class Temporary
		Public Shared Function Override(aObject As [Object], aMemberName As [String], aScopedValue As [Object]) As IDisposable
			Return init(aMemberName, aObject.[GetType](), aObject, aScopedValue)
		End Function
		Public Shared Function Override(aType As Type, aMemberName As [String], aScopedValue As [Object]) As IDisposable
			Return init(aMemberName, aType, Nothing, aScopedValue)
		End Function

		Private Shared Function init(aMemberName As [String], aType As Type, aObject As [Object], aScopedValue As [Object]) As IDisposable
			Dim memberInfo As MemberInfo = aType.GetMember(aMemberName)(0)

			Select Case memberInfo.MemberType
				Case MemberTypes.[Property]
					Return New TemporaryOverrideProperty(If(aObject Is Nothing, aType, aObject), DirectCast(memberInfo, PropertyInfo), aScopedValue)

				Case MemberTypes.Field
					Return New TemporaryOverrideField(If(aObject Is Nothing, aType, aObject), DirectCast(memberInfo, FieldInfo), aScopedValue)
				Case Else

					Throw New NotSupportedException()
			End Select
		End Function
	End Class


	Public Class TemporaryOverrideProperty
		Inherits TemporaryOverride
		Private _overridenProperty As PropertyInfo

		Public Sub New(aObject As [Object], aProperty As PropertyInfo, aScopedValue As [Object])
			Me._sourceObject = aObject
			Me.init(aProperty, aScopedValue)
		End Sub
		Public Sub New(aSource As Type, aProperty As PropertyInfo, aScopedValue As [Object])
			Me._sourceClass = aSource
			Me.init(aProperty, aScopedValue)
		End Sub

		Protected Overrides Sub Finalize()
			Try
				Me.Dispose(False)
			Finally
				MyBase.Finalize()
			End Try
		End Sub

		Private Sub init(aProperty As PropertyInfo, aScopedValue As [Object])
			Me._overridenProperty = aProperty
			Me._originalValue = Me._overridenProperty.GetValue(Me._sourceObject, Nothing)
			Me._overridenProperty.SetValue(Me._sourceObject, aScopedValue, Nothing)
		End Sub

		Protected Overrides Sub Dispose(disposing As [Boolean])
			If disposing Then
				Me._overridenProperty.SetValue(Me._sourceObject, Me._originalValue, Nothing)
			End If
			MyBase.Dispose(disposing)
		End Sub
	End Class
	Public Class TemporaryOverrideField
		Inherits TemporaryOverride
		Private _overridenField As FieldInfo

		Public Sub New(aObject As [Object], aField As FieldInfo, aScopedValue As [Object])
			Me._sourceObject = aObject
			Me.init(aField, aScopedValue)
		End Sub
		Public Sub New(aSource As Type, aField As FieldInfo, aScopedValue As [Object])
			Me._sourceClass = aSource
			Me.init(aField, aScopedValue)
		End Sub

		Protected Overrides Sub Finalize()
			Try
				Me.Dispose(False)
			Finally
				MyBase.Finalize()
			End Try
		End Sub

		Private Sub init(aField As FieldInfo, aScopedValue As [Object])
			Me._overridenField = aField
			Me._originalValue = Me._overridenField.GetValue(Me._sourceObject)
			Me._overridenField.SetValue(Me._sourceObject, aScopedValue)
		End Sub

		Protected Overrides Sub Dispose(disposing As [Boolean])
			If disposing Then
				Me._overridenField.SetValue(Me._sourceObject, Me._originalValue)
			End If
			MyBase.Dispose(disposing)
		End Sub
	End Class

	Public Class TemporaryOverride
		Implements IDisposable
		Protected _sourceObject As [Object]
		Protected _sourceClass As Type
		Protected _originalValue As [Object]

		Protected Sub New()
		End Sub

		#Region "IDisposable implementation (MSDN adapted version)"
 	Private disposed As [Boolean] = False

		Public Sub Dispose() Implements IDisposable.Dispose
			Me.Dispose(True)
			GC.SuppressFinalize(Me)
		End Sub

		Protected Overridable Sub Dispose(disposing As [Boolean])
			If Not Me.disposed Then
						' Dispose managed resources.
				If disposing Then
				End If

				' Call the appropriate methods to clean up
				' unmanaged resources here.

				' Note disposing has been done.
				Me.disposed = True
			End If
		End Sub
		#End Region
	End Class
End Namespace

Bastard Programmer from Hell Suspicious | :suss:

NewsScopedSupportInitialize Pin
Eddy Vluggen10-Apr-12 8:35
professionalEddy Vluggen10-Apr-12 8:35 
GeneralA clean CreateDelegate Pin
Eddy Vluggen13-Apr-11 10:04
professionalEddy Vluggen13-Apr-11 10:04 
NewsInterop with .NET, tested with Lazarus; Pin
Eddy Vluggen13-Sep-11 12:32
professionalEddy Vluggen13-Sep-11 12:32 
NewsStandard reader-pattern Pin
Eddy Vluggen29-Oct-11 14:31
professionalEddy Vluggen29-Oct-11 14:31 
NewsAttributionAttribute AboutBox Pin
Eddy Vluggen29-Oct-11 14:55
professionalEddy Vluggen29-Oct-11 14:55 
NewsMy BigInt implementation Pin
Eddy Vluggen11-Nov-11 7:20
professionalEddy Vluggen11-Nov-11 7:20 
NewsExpensive Exceptions Pin
Eddy Vluggen19-Sep-16 1:03
professionalEddy Vluggen19-Sep-16 1:03 
GeneralRe: Expensive Exceptions Pin
PIEBALDconsult16-May-18 15:06
mvePIEBALDconsult16-May-18 15:06 
GeneralRe: Expensive Exceptions Pin
Eddy Vluggen16-May-18 22:43
professionalEddy Vluggen16-May-18 22:43 
GeneralTSQL: Fetch metadata for a table Pin
Eddy Vluggen6-Sep-10 9:54
professionalEddy Vluggen6-Sep-10 9:54 
GeneralTSQL: Fetch tables without Primary Key Pin
Eddy Vluggen31-Jan-11 1:36
professionalEddy Vluggen31-Jan-11 1:36 
GeneralTSQL: Fetch tables without clustered index Pin
Eddy Vluggen1-Feb-11 21:04
professionalEddy Vluggen1-Feb-11 21:04 
GeneralRe: TSQL: Fetch metadata for a table Pin
PIEBALDconsult16-May-18 15:08
mvePIEBALDconsult16-May-18 15:08 
GeneralVisual Studio macro's: replacing the default help-system Pin
Eddy Vluggen2-Sep-10 9:49
professionalEddy Vluggen2-Sep-10 9:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.