﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Issues  » Insulation Layer</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 23 Jun 2026 10:57:36 GMT</lastBuildDate><ttl>20</ttl><item><title>Insulation Layer</title><link>http://forum.strataframe.net/FindPost2045.aspx</link><description>The Visual Foxpro framework we currently use has an "i" layer or "insulation" layer which is where all developer changes are recommended take place.&amp;nbsp; All application instances are then subclassed from this layer vs. directly from the framework vendor's classes.&amp;nbsp; &lt;/P&gt;&lt;P&gt;Question: does Strataframe have an "insulation" layer to prevent future source upgrades from overwriting developer enhancements?&amp;nbsp; If not, is&amp;nbsp;it recommended one create their own subclasses and, if so, can the Strataframe wizards, builders, factories, etc. be changed to subclass from this layer?&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Randy Jean</description><pubDate>Thu, 10 Aug 2006 18:07:25 GMT</pubDate><dc:creator>Randy Jean</dc:creator></item><item><title>RE: Insulation Layer</title><link>http://forum.strataframe.net/FindPost2154.aspx</link><description>This seems to work.  Do you see anything wrong with this?&lt;br&gt;
&lt;br&gt;
[code]&lt;br&gt;
Imports System.Drawing&lt;br&gt;
&lt;br&gt;
Public Class OGSFFormControls&lt;br&gt;
&lt;br&gt;
    Class OGSFLabel&lt;br&gt;
        Inherits MicroFour.StrataFrame.UI.Windows.Forms.Label&lt;br&gt;
        Public Sub New()&lt;br&gt;
            MyBase.New()&lt;br&gt;
            TextAlign = ContentAlignment.MiddleRight&lt;br&gt;
            Font = New Font("Lucida Sans Typewriter", 8.0!, _&lt;br&gt;
             FontStyle.Regular, _&lt;br&gt;
             GraphicsUnit.Point, CType(0, Byte))&lt;br&gt;
            Height = 12&lt;br&gt;
            BackColor = Color.Transparent&lt;br&gt;
        End Sub&lt;br&gt;
    End Class&lt;br&gt;
&lt;br&gt;
End Class&lt;br&gt;
[/code]</description><pubDate>Thu, 10 Aug 2006 18:07:25 GMT</pubDate><dc:creator>Randy Jean</dc:creator></item><item><title>RE: Insulation Layer</title><link>http://forum.strataframe.net/FindPost2153.aspx</link><description>You would need to somehow attach to the visiblity changed event of every label within the application and within the event handler, set the back color to transparent.&amp;nbsp; It is possible with events, but won't find a good place to centralize attaching to all of those events.&amp;nbsp; You're better off subclassing the StrataFrame label and using that for everything.&lt;/P&gt;&lt;P&gt;You'll also want to be aware that the label inherits it's back color from it's parent, you'll need to set the property after the ParentChanged event in the subclass.&amp;nbsp; Or, you could override (or shadow) the back color of the form and set it to always return Transparent.</description><pubDate>Thu, 10 Aug 2006 17:32:33 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: Insulation Layer</title><link>http://forum.strataframe.net/FindPost2152.aspx</link><description>OK, here's an example of something I know how to do through inheritance, but not sure how to do with events:&lt;br&gt;
&lt;br&gt;
Strataframe Labels: I would like the default for all labels to be backcolor = transparent&lt;br&gt;
&lt;br&gt;
I know how to do this through subclassing and I know if I I was not using the trial and had Strataframe source I could change the base class (which would not insulate me from future upgrades overwriting my change), but how would I do this using events?&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
Randy</description><pubDate>Thu, 10 Aug 2006 17:14:26 GMT</pubDate><dc:creator>Randy Jean</dc:creator></item><item><title>RE: Insulation Layer</title><link>http://forum.strataframe.net/FindPost2048.aspx</link><description>You're right, VFP was starting to get better with events.&amp;nbsp; But their most recent version doesn't even begin to support events natively.&amp;nbsp; The problem with VFP is that they were trying to "slap a bandaid" on the problem to support event binding, creation, and handling.&amp;nbsp; All event processing is at the root level of .NET which makes it truly a viable solution.</description><pubDate>Tue, 01 Aug 2006 12:52:50 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Insulation Layer</title><link>http://forum.strataframe.net/FindPost2047.aspx</link><description>Thanks for the quick response!&amp;nbsp; Guess I should brush up on events vs. method overrides.&amp;nbsp; I've seen the move toward&amp;nbsp;events even in the VFP world as the newest version has better event binding.</description><pubDate>Tue, 01 Aug 2006 12:09:33 GMT</pubDate><dc:creator>Randy Jean</dc:creator></item><item><title>RE: Insulation Layer</title><link>http://forum.strataframe.net/FindPost2046.aspx</link><description>You are exactly right and this is typically the norm in the VFP world.&amp;nbsp; You can definitely create an "i" layer if this is your desire.&amp;nbsp; But this is not really as necessary as it was in VFP for a number of reasons.&amp;nbsp; The primary reason has to do with event handling.&amp;nbsp; Most everything that needs to be "overwritten" in VFP required a method override in order to achieve a different result.&amp;nbsp; The beauty of .NET and StrataFrame is event handling.&amp;nbsp; You can manipulate and mold your application to your needs through events rather than inheritance...at least as far as the "i" layer is concerned.&amp;nbsp;&lt;P&gt;In fact this is what we initially did early on just out of habit, and if you use frameworks that require method overrides, then this is a must.&amp;nbsp; But in an event based environment, this is another nice feature that saves the developer time.&lt;/P&gt;&lt;P&gt;If you have the desire to do this, then it is a very easy process.&amp;nbsp; Simply create an "i" layer class for each control and inherit the control.&lt;/P&gt;&lt;P&gt;FYI, do not use "i" as your prefix.&amp;nbsp; In .NET this is standard prefix for an interface.&amp;nbsp; You will want to choose something else to reduce confision later on.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Example&lt;/STRONG&gt;&lt;BR&gt;Public Class MyTextBox&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits MicroFour.StrataFrame.UI.Windows.Forms.TextBox&lt;BR&gt;&lt;BR&gt;End Class</description><pubDate>Tue, 01 Aug 2006 11:57:49 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item></channel></rss>