<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt">Thanks Hannes, it worked!<br><div><span><br></span></div><div>&nbsp;</div><div>-----------------<br>Benoit St-Jean<br>Yahoo! Messenger: bstjean<br>A standpoint is an intellectual horizon of radius zero.<br>(Albert Einstein)<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Frank Shearar &lt;frank.shearar@gmail.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> The general-purpose Squeak developers list &lt;squeak-dev@lists.squeakfoundation.org&gt; <br> <b><span style="font-weight:
 bold;">Sent:</span></b> Friday, December 21, 2012 5:58:17 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: FFI load script no longer works .... (Re: [squeak-dev] ODBC package and mySQL driver for 4.4?)<br> </font> </div> <br>On 21 December 2012 22:46, H. Hirzel &lt;<a ymailto="mailto:hannes.hirzel@gmail.com" href="mailto:hannes.hirzel@gmail.com">hannes.hirzel@gmail.com</a>&gt; wrote:<br>&gt; Benoit,<br>&gt;<br>&gt; yes, indeed,<br>&gt;<br>&gt; (Installer repository: '<a href="http://source.squeak.org/FFI%27" target="_blank">http://source.squeak.org/FFI'</a>)<br>&gt;&nbsp;  install: 'FFI-Pools';<br>&gt;&nbsp;  install: 'FFI-Kernel';<br>&gt;&nbsp;  install: 'FFI-Tests';<br>&gt;&nbsp;  install: 'FFI-Win32';<br>&gt;&nbsp;  install: 'FFI-MacOS';<br>&gt;&nbsp;  install: 'FFI-Unix'.<br>&gt;<br>&gt; No longer works with 4.4-12320.<br>&gt;<br>&gt; It used to work two or three months ago...<br><br>You need the "allow underscore selectors"
 preference set to load the<br>FFI. I can't remember the magic to do that, but it ought to be part of<br>the install script.<br><br>frank<br><br>&gt; --Hannes<br>&gt;<br>&gt; --Hannes<br>&gt;<br>&gt; On 12/21/12, Benoit St-Jean &lt;<a ymailto="mailto:bstjean@yahoo.com" href="mailto:bstjean@yahoo.com">bstjean@yahoo.com</a>&gt; wrote:<br>&gt;&gt; Hi Hannes,<br>&gt;&gt;<br>&gt;&gt; Just tried what you told me...&nbsp; Well, there's a MNU when loading in 4.4.<br>&gt;&gt; Here's the stack:<br>&gt;&gt;<br>&gt;&gt; -----------------------------------------------------------------------------------------<br>&gt;&gt;<br>&gt;&gt; To: <a ymailto="mailto:squeak-dev@lists.squeakfoundation.org" href="mailto:squeak-dev@lists.squeakfoundation.org">squeak-dev@lists.squeakfoundation.org</a><br>&gt;&gt; Subject: [BUG]ClassBuilder(Object)&gt;&gt;error:<br>&gt;&gt;<br>&gt;&gt; here insert explanation of what you were doing, suspect changes you've made<br>&gt;&gt; and so
 forth.<br>&gt;&gt;<br>&gt;&gt; 21 December 2012 5:31:33.375 pm<br>&gt;&gt;<br>&gt;&gt; VM: Win32 - Smalltalk<br>&gt;&gt; Image: Squeak4.3 [latest update: #11864]<br>&gt;&gt;<br>&gt;&gt; SecurityManager state:<br>&gt;&gt; Restricted: false<br>&gt;&gt; FileAccess: true<br>&gt;&gt; SocketAccess: true<br>&gt;&gt; Working Dir C:\Data\Squeak\Squeak 4.3 All-In-One\Contents\Resources<br>&gt;&gt; Trusted Dir C:\Data\Squeak\Squeak 4.3 All-In-One\Contents\Resources\Benoit<br>&gt;&gt; St-Jean<br>&gt;&gt; Untrusted Dir C:\Documents and Settings\Benoit St-Jean\My Documents\My<br>&gt;&gt; Squeak<br>&gt;&gt;<br>&gt;&gt; ClassBuilder(Object)&gt;&gt;error:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a ClassBuilder<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  aString:&nbsp; &nbsp;  'WS is multiply defined'<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  environ:&nbsp; &nbsp; 
 Smalltalk globals "a SystemDictionary with lots of<br>&gt;&gt; globals"<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classMap:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  instVarMap:&nbsp; &nbsp;  an IdentityDictionary()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  progress:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  maxClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  currentClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; ClassBuilder&gt;&gt;validateClassvars:from:forSuper:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a ClassBuilder<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt; &lt;&lt;error during printing&gt;<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  environ:&nbsp; &nbsp;  Smalltalk globals "a SystemDictionary with lots of<br>&gt;&gt; globals"<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classMap:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp;
 &nbsp; &nbsp;  instVarMap:&nbsp; &nbsp;  an IdentityDictionary()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  progress:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  maxClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  currentClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; [] in<br>&gt;&gt; ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a ClassBuilder<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt; &lt;&lt;error during printing&gt;<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  environ:&nbsp; &nbsp;  Smalltalk globals "a SystemDictionary with lots of<br>&gt;&gt; globals"<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classMap:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  instVarMap:&nbsp; &nbsp;  an
 IdentityDictionary()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  progress:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  maxClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  currentClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; BlockClosure&gt;&gt;ensure:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: [closure] in<br>&gt;&gt; ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceVariableNames:classV...etc...<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  aBlock:&nbsp; &nbsp;  [closure] in<br>&gt;&gt; ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceV...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  complete:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  returnValue:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  outerContext:<br>&gt;&gt;
 ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceVariable...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  startpc:&nbsp; &nbsp;  332<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  numArgs:&nbsp; &nbsp;  0<br>&gt;&gt;<br>&gt;&gt; ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a ClassBuilder<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  className:&nbsp; &nbsp;  #Win32Constants<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  env:&nbsp; &nbsp;  Smalltalk globals "a SystemDictionary with lots of globals"<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  newSuper:&nbsp; &nbsp;  SharedPool<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  type:&nbsp; &nbsp;  #normal<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  instVarString:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classVarString:&nbsp; &nbsp; 
 'COLOR_ACTIVEBORDER COLOR_ACTIVECAPTION<br>&gt;&gt; COLOR_APPWORKSPACE COLO...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  poolString:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  category:&nbsp; &nbsp;  #'FFI-Win32-Examples'<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  unsafe:&nbsp; &nbsp;  false<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  oldClass:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  instVars:&nbsp; &nbsp;  #()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classVars:&nbsp; &nbsp;  #(#COLOR #ACTIVEBORDER #COLOR #ACTIVECAPTION #COLOR<br>&gt;&gt; #APPWORKSPACE #C...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  copyOfOldClass:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  newClass:&nbsp; &nbsp;  #(nil)<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  environ:&nbsp; &nbsp;  Smalltalk globals "a SystemDictionary with lots of<br>&gt;&gt; globals"<br>&gt;&gt;&nbsp; &nbsp; &nbsp;
 &nbsp;  classMap:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  instVarMap:&nbsp; &nbsp;  an IdentityDictionary()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  progress:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  maxClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  currentClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a ClassBuilder<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  className:&nbsp; &nbsp;  #Win32Constants<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  env:&nbsp; &nbsp;  Smalltalk globals "a SystemDictionary with lots of globals"<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  newSuper:&nbsp; &nbsp;  SharedPool<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  type:&nbsp; &nbsp;  #normal<br>&gt;&gt;&nbsp;
 &nbsp; &nbsp; &nbsp;  instVarString:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classVarString:&nbsp; &nbsp;  'COLOR_ACTIVEBORDER COLOR_ACTIVECAPTION<br>&gt;&gt; COLOR_APPWORKSPACE COLO...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  poolString:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  category:&nbsp; &nbsp;  #'FFI-Win32-Examples'<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  environ:&nbsp; &nbsp;  Smalltalk globals "a SystemDictionary with lots of<br>&gt;&gt; globals"<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classMap:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  instVarMap:&nbsp; &nbsp;  an IdentityDictionary()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  progress:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  maxClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  currentClassIndex:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; [] in
 MCClassDefinition&gt;&gt;createClass<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a MCClassDefinition(Win32Constants)<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt; &lt;&lt;error during printing&gt;<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  name:&nbsp; &nbsp;  #Win32Constants<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  superclassName:&nbsp; &nbsp;  #SharedPool<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  variables:&nbsp; &nbsp;  an OrderedCollection(a<br>&gt;&gt; MCClassVariableDefinition(COLOR_ACTIVEBORDER)...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  category:&nbsp; &nbsp;  #'FFI-Win32-Examples'<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  type:&nbsp; &nbsp;  #normal<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  comment:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  commentStamp:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  traitComposition:&nbsp; &nbsp; 
 nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classTraitComposition:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; BlockClosure&gt;&gt;on:do:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: [closure] in MCClassDefinition&gt;&gt;createClass<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  exception:&nbsp; &nbsp;  an ExceptionSet<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  handlerAction:&nbsp; &nbsp;  [closure] in MCClassDefinition&gt;&gt;createClass<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  handlerActive:&nbsp; &nbsp;  true<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  outerContext:&nbsp; &nbsp;  MCClassDefinition&gt;&gt;createClass<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  startpc:&nbsp; &nbsp;  120<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  numArgs:&nbsp; &nbsp;  0<br>&gt;&gt;<br>&gt;&gt; MCClassDefinition&gt;&gt;createClass<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a
 MCClassDefinition(Win32Constants)<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  superClass:&nbsp; &nbsp;  SharedPool<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  composition:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  class:&nbsp; &nbsp;  #(nil)<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  name:&nbsp; &nbsp;  #Win32Constants<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  superclassName:&nbsp; &nbsp;  #SharedPool<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  variables:&nbsp; &nbsp;  an OrderedCollection(a<br>&gt;&gt; MCClassVariableDefinition(COLOR_ACTIVEBORDER)...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  category:&nbsp; &nbsp;  #'FFI-Win32-Examples'<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  type:&nbsp; &nbsp;  #normal<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  comment:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  commentStamp:&nbsp; &nbsp;
  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  traitComposition:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classTraitComposition:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; MCClassDefinition&gt;&gt;load<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a MCClassDefinition(Win32Constants)<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  class:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  name:&nbsp; &nbsp;  #Win32Constants<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  superclassName:&nbsp; &nbsp;  #SharedPool<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  variables:&nbsp; &nbsp;  an OrderedCollection(a<br>&gt;&gt; MCClassVariableDefinition(COLOR_ACTIVEBORDER)...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  category:&nbsp; &nbsp;  #'FFI-Win32-Examples'<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  type:&nbsp; &nbsp;  #normal<br>&gt;&gt;&nbsp; &nbsp;
 &nbsp; &nbsp;  comment:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  commentStamp:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  traitComposition:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  classTraitComposition:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; [] in [] in [] in MCPackageLoader&gt;&gt;basicLoad<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a MCPackageLoader<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt; &lt;&lt;error during printing&gt;<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  requirements:&nbsp; &nbsp;  #()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  unloadableDefinitions:&nbsp; &nbsp;  a SortedCollection()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  obsoletions:&nbsp; &nbsp;  a Dictionary()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  additions:&nbsp; &nbsp;  an OrderedCollection(a<br>&gt;&gt;
 MCOrganizationDefinition(#(#'FFI-Win32-Exampl...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  removals:&nbsp; &nbsp;  an OrderedCollection()<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  errorDefinitions:&nbsp; &nbsp;  an OrderedCollection(a<br>&gt;&gt; MCClassDefinition(Win32Constants))<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  provisions:&nbsp; &nbsp;  a Set(#UpdatingRectangleMorph #FormTest<br>&gt;&gt; #SystemDictionary #HSVColor...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  methodAdditions:&nbsp; &nbsp;  an OrderedCollection(a MethodAddition a<br>&gt;&gt; MethodAddition a Metho...etc...<br>&gt;&gt;<br>&gt;&gt; [] in [] in OrderedCollection(Collection)&gt;&gt;do:displayingProgress:every:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: an OrderedCollection(a MCClassDefinition(Win32Constants))<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt; &lt;&lt;error during printing&gt;<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance
 variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  array:&nbsp; &nbsp;  {a MCClassDefinition(Win32Constants) . nil . nil . nil .<br>&gt;&gt; nil . nil . nil...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  firstIndex:&nbsp; &nbsp;  1<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  lastIndex:&nbsp; &nbsp;  1<br>&gt;&gt;<br>&gt;&gt; OrderedCollection&gt;&gt;do:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: an OrderedCollection(a MCClassDefinition(Win32Constants))<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  aBlock:&nbsp; &nbsp;  [closure] in [] in<br>&gt;&gt; OrderedCollection(Collection)&gt;&gt;do:displayingProgress...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  index:&nbsp; &nbsp;  1<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  array:&nbsp; &nbsp;  {a MCClassDefinition(Win32Constants) . nil . nil . nil .<br>&gt;&gt; nil . nil . nil...etc...<br>&gt;&gt;&nbsp;
 &nbsp; &nbsp; &nbsp;  firstIndex:&nbsp; &nbsp;  1<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  lastIndex:&nbsp; &nbsp;  1<br>&gt;&gt;<br>&gt;&gt; [] in OrderedCollection(Collection)&gt;&gt;do:displayingProgress:every:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: an OrderedCollection(a MCClassDefinition(Win32Constants))<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt; &lt;&lt;error during printing&gt;<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  array:&nbsp; &nbsp;  {a MCClassDefinition(Win32Constants) . nil . nil . nil .<br>&gt;&gt; nil . nil . nil...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  firstIndex:&nbsp; &nbsp;  1<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  lastIndex:&nbsp; &nbsp;  1<br>&gt;&gt;<br>&gt;&gt; [] in [] in MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a MorphicUIManager<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary
 variables:<br>&gt;&gt; &lt;&lt;error during printing&gt;<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  toolBuilder:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; BlockClosure&gt;&gt;on:do:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: [closure] in [] in<br>&gt;&gt; MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  exception:&nbsp; &nbsp;  ProgressNotification<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  handlerAction:&nbsp; &nbsp;  [closure] in [] in<br>&gt;&gt; MorphicUIManager&gt;&gt;displayProgress:at:from:to:...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  handlerActive:&nbsp; &nbsp;  true<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  outerContext:&nbsp; &nbsp;  [] in<br>&gt;&gt; MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp;
 &nbsp; &nbsp; &nbsp;  startpc:&nbsp; &nbsp;  86<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  numArgs:&nbsp; &nbsp;  0<br>&gt;&gt;<br>&gt;&gt; [] in MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a MorphicUIManager<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt; &lt;&lt;error during printing&gt;<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  toolBuilder:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt; BlockClosure&gt;&gt;ensure:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: [closure] in<br>&gt;&gt; MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  aBlock:&nbsp; &nbsp;  [closure] in<br>&gt;&gt; MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  complete:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp;
 &nbsp; &nbsp;  returnValue:&nbsp; &nbsp;  nil<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  outerContext:<br>&gt;&gt; MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  startpc:&nbsp; &nbsp;  79<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  numArgs:&nbsp; &nbsp;  0<br>&gt;&gt;<br>&gt;&gt; MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp; &nbsp;  Receiver: a MorphicUIManager<br>&gt;&gt;&nbsp; &nbsp;  Arguments and temporary variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  titleString:&nbsp; &nbsp;  ''<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  aPoint:&nbsp; &nbsp;  512@356<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  minVal:&nbsp; &nbsp;  0<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  maxVal:&nbsp; &nbsp;  1<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  workBlock:&nbsp; &nbsp;  [closure] in<br>&gt;&gt;
 OrderedCollection(Collection)&gt;&gt;do:displayingProgress:ev...etc...<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  progress:&nbsp; &nbsp;  [closure] in<br>&gt;&gt; SystemProgressMorph&gt;&gt;position:label:min:max:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  result:&nbsp; &nbsp;  #(nil)<br>&gt;&gt;&nbsp; &nbsp;  Receiver's instance variables:<br>&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp;  toolBuilder:&nbsp; &nbsp;  nil<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; --- The full stack ---<br>&gt;&gt; ClassBuilder(Object)&gt;&gt;error:<br>&gt;&gt; ClassBuilder&gt;&gt;validateClassvars:from:forSuper:<br>&gt;&gt; [] in<br>&gt;&gt; ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:<br>&gt;&gt; BlockClosure&gt;&gt;ensure:<br>&gt;&gt; ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:<br>&gt;&gt;
 ClassBuilder&gt;&gt;name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:<br>&gt;&gt; [] in MCClassDefinition&gt;&gt;createClass<br>&gt;&gt; BlockClosure&gt;&gt;on:do:<br>&gt;&gt; MCClassDefinition&gt;&gt;createClass<br>&gt;&gt; MCClassDefinition&gt;&gt;load<br>&gt;&gt; [] in [] in [] in MCPackageLoader&gt;&gt;basicLoad<br>&gt;&gt; [] in [] in OrderedCollection(Collection)&gt;&gt;do:displayingProgress:every:<br>&gt;&gt; OrderedCollection&gt;&gt;do:<br>&gt;&gt; [] in OrderedCollection(Collection)&gt;&gt;do:displayingProgress:every:<br>&gt;&gt; [] in [] in MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt; BlockClosure&gt;&gt;on:do:<br>&gt;&gt; [] in MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt; BlockClosure&gt;&gt;ensure:<br>&gt;&gt; MorphicUIManager&gt;&gt;displayProgress:at:from:to:during:<br>&gt;&gt;&nbsp; - - - - - - - - - - - - - - - - - - - - - - - - - - -
 - - - - - -<br>&gt;&gt; ProgressInitiationException&gt;&gt;defaultResumeValue<br>&gt;&gt; ProgressInitiationException(Exception)&gt;&gt;resume<br>&gt;&gt; ProgressInitiationException&gt;&gt;defaultAction<br>&gt;&gt; UndefinedObject&gt;&gt;handleSignal:<br>&gt;&gt; MethodContext(ContextPart)&gt;&gt;handleSignal:<br>&gt;&gt; MethodContext(ContextPart)&gt;&gt;handleSignal:<br>&gt;&gt; MethodContext(ContextPart)&gt;&gt;handleSignal:<br>&gt;&gt; MethodContext(ContextPart)&gt;&gt;handleSignal:<br>&gt;&gt; ProgressInitiationException(Exception)&gt;&gt;signal<br>&gt;&gt; ProgressInitiationException&gt;&gt;display:at:from:to:during:<br>&gt;&gt; ProgressInitiationException class&gt;&gt;display:at:from:to:during:<br>&gt;&gt; ByteString(String)&gt;&gt;displayProgressAt:from:to:during:<br>&gt;&gt; ByteString(String)&gt;&gt;displayProgressFrom:to:during:<br>&gt;&gt; OrderedCollection(Collection)&gt;&gt;do:displayingProgress:every:<br>&gt;&gt;
 OrderedCollection(Collection)&gt;&gt;do:displayingProgress:<br>&gt;&gt; [] in [] in MCPackageLoader&gt;&gt;basicLoad<br>&gt;&gt; BlockClosure&gt;&gt;on:do:<br>&gt;&gt; [] in MCPackageLoader&gt;&gt;basicLoad<br>&gt;&gt; BlockClosure&gt;&gt;ensure:<br>&gt;&gt; MCPackageLoader&gt;&gt;basicLoad<br>&gt;&gt; [] in MCPackageLoader&gt;&gt;loadWithNameLike:<br>&gt;&gt; BlockClosure&gt;&gt;ensure:<br>&gt;&gt; MCPackageLoader&gt;&gt;useChangeSetNamed:during:<br>&gt;&gt; MCPackageLoader&gt;&gt;useNewChangeSetNamedLike:during:<br>&gt;&gt; MCPackageLoader&gt;&gt;loadWithNameLike:<br>&gt;&gt; MCVersionLoader&gt;&gt;load<br>&gt;&gt; [] in InstallerMonticello&gt;&gt;basicInstall<br>&gt;&gt; BlockClosure&gt;&gt;on:do:<br>&gt;&gt; BlockClosure&gt;&gt;valueSupplyingAnswers:<br>&gt;&gt; BlockClosure&gt;&gt;valueSuppressingMessages:supplyingAnswers:<br>&gt;&gt; InstallerMonticello(Installer)&gt;&gt;withAnswersDo:<br>&gt;&gt;
 InstallerMonticello&gt;&gt;basicInstall<br>&gt;&gt; [] in InstallerMonticello(Installer)&gt;&gt;installLogging<br>&gt;&gt; InstallerMonticello(Installer)&gt;&gt;logErrorDuring:<br>&gt;&gt; InstallerMonticello(Installer)&gt;&gt;installLogging<br>&gt;&gt; InstallerMonticello(Installer)&gt;&gt;install<br>&gt;&gt; InstallerMonticello(Installer)&gt;&gt;install:<br>&gt;&gt; UndefinedObject&gt;&gt;DoIt<br>&gt;&gt; Compiler&gt;&gt;evaluate:in:to:notifying:ifFail:logged:<br>&gt;&gt; [] in SmalltalkEditor(TextEditor)&gt;&gt;evaluateSelectionAndDo:<br>&gt;&gt; BlockClosure&gt;&gt;on:do:<br>&gt;&gt; SmalltalkEditor(TextEditor)&gt;&gt;evaluateSelectionAndDo:<br>&gt;&gt; -- and more not shown --<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; -----------------------------------------------------------------------------------------<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; -----------------<br>&gt;&gt; Benoit St-Jean<br>&gt;&gt; Yahoo! Messenger: bstjean<br>&gt;&gt; A standpoint is an
 intellectual horizon of radius zero.<br>&gt;&gt; (Albert Einstein)<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&gt;________________________________<br>&gt;&gt;&gt; From: H. Hirzel &lt;<a ymailto="mailto:hannes.hirzel@gmail.com" href="mailto:hannes.hirzel@gmail.com">hannes.hirzel@gmail.com</a>&gt;<br>&gt;&gt;&gt;To: <a ymailto="mailto:squeak-dev@lists.squeakfoundation.org" href="mailto:squeak-dev@lists.squeakfoundation.org">squeak-dev@lists.squeakfoundation.org</a><br>&gt;&gt;&gt;Sent: Friday, December 21, 2012 4:16:12 PM<br>&gt;&gt;&gt;Subject: [squeak-dev] ODBC package and mySQL driver for 4.4?<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;On 12/21/12, Benoit St-Jean &lt;<a ymailto="mailto:bstjean@yahoo.com" href="mailto:bstjean@yahoo.com">bstjean@yahoo.com</a>&gt; wrote:<br>&gt;&gt;&gt;&gt; The more urgent is the ODBC package.&nbsp; We used to load it with a "prereq"<br>&gt;&gt;&gt;&gt; of<br>&gt;&gt;&gt;&gt; executing "ScriptLoader loadFFI" but the loadFFi method has
 vanished...<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; Second items that is important, the MySQL Driver...&nbsp; That one I have not<br>&gt;&gt;&gt;&gt; tried yet...<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;For the FFI part<br>&gt;&gt;&gt;-----------------------<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;To load the FFI see menu 'help' / 'extending the system' and there<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;you find<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;"FFI: <a href="http://source.squeak.org/FFI.html" target="_blank">http://source.squeak.org/FFI.html</a>"<br>&gt;&gt;&gt;(Installer repository: '<a href="http://source.squeak.org/FFI%27" target="_blank">http://source.squeak.org/FFI'</a>)<br>&gt;&gt;&gt;&nbsp; &nbsp; install: 'FFI-Pools';<br>&gt;&gt;&gt;&nbsp; &nbsp; install: 'FFI-Kernel';<br>&gt;&gt;&gt;&nbsp; &nbsp; install: 'FFI-Tests';<br>&gt;&gt;&gt;&nbsp; &nbsp; install: 'FFI-Win32';<br>&gt;&gt;&gt;&nbsp; &nbsp; install: 'FFI-MacOS';<br>&gt;&gt;&gt;&nbsp; &nbsp; install:
 'FFI-Unix'.<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;--Hannes<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;<br><br><br><br> </div> </div> </blockquote></div>   </div></body></html>