![]() | Welcome to Dolphin Smalltalk X6 |
![]() | What's New in Version 6? |
![]() | Products |
![]() | Dolphin Community Edition |
![]() | Dolphin Professional |
![]() | Development Tools |
![]() | Editor |
![]() | Go Search |
![]() | Idea Space |
![]() | Source Tracking System |
![]() | Method Explorer |
![]() | View Composer |
![]() | View Browser |
![]() | Executable Browser |
![]() | Code Mentor |
![]() | Rewrite Tool |
![]() | Compiler and Virtual Machine |
![]() | True Block Closures |
![]() | Improved Garbage Collector |
![]() | Immutability Support |
![]() | Class Library |
![]() | Sockets |
![]() | Literal Filer |
![]() | Slidey Inney Outey Things |
![]() | Other New Views |
![]() | Documentation/Help |
![]() | Newcomers Start Here |
![]() | Getting Started |
![]() | The Dolphin Smalltalk Product Range |
![]() | Dolphin Community Edition (DCE) |
![]() | Dolphin Professional (DPRO) |
![]() | Installation |
![]() | System Requirements |
![]() | Setup |
![]() | Fresh Install: Unlocking the Installation |
![]() | Installed Files |
![]() | The Image |
![]() | Looking after Your Image |
![]() | Save Your Image Often |
![]() | Guided Tour |
![]() | A Note to Those New to Smalltalk |
![]() | Starting Dolphin |
![]() | System Folder |
![]() | System Folder Icons |
![]() | Additional Tools Icons |
![]() | Sample Applications Icons |
![]() | Source Tracking Tools Icons |
![]() | Workspace |
![]() | Workspace Operations |
![]() | Workspace Files |
![]() | Class Browser |
![]() | Class Hierarchy Pane |
![]() | Category Filter Pane |
![]() | Protocol Filter Pane |
![]() | Variables Filter Pane |
![]() | Method List Pane |
![]() | Method Source Pane |
![]() | Class Definition Pane |
![]() | Class Comment Pane |
![]() | Class Diagram Pane |
![]() | Views Pane |
![]() | Code Mentor Pane |
![]() | Code Rewriter Pane |
![]() | System Browser |
![]() | Packages Pane |
![]() | Class List Pane |
![]() | Category Filter Pane |
![]() | Protocol Filter Pane |
![]() | Variables Filter Pane |
![]() | Method List Pane |
![]() | Method Source Pane |
![]() | Class Definition Pane |
![]() | Class Comment Pane |
![]() | Class Diagram Pane |
![]() | Views Pane |
![]() | Code Mentor Pane |
![]() | Code Rewriter Pane |
![]() | Package Browser |
![]() | Packages Pane |
![]() | Package Comment Pane |
![]() | Classes Pane |
![]() | Loose Methods Pane |
![]() | Views Pane |
![]() | Globals Pane |
![]() | Package Scripts Pane |
![]() | Prerequisites Pane |
![]() | Dependents Pane |
![]() | View Composer |
![]() | View Arena Pane |
![]() | View Hierarchy Pane |
![]() | Property Inspector Pane |
![]() | Toolbox Pane |
![]() | View Browser |
![]() | View Categories Pane |
![]() | View List & Preview Pane |
![]() | Idea Space |
![]() | Idea Space Cards |
![]() | Protocol Browser |
![]() | Protocols Pane |
![]() | Selectors Pane |
![]() | Conforming Classes Pane |
![]() | Method Explorer |
![]() | History Pane |
![]() | Method List Pane |
![]() | Source Pane |
![]() | Debugger |
![]() | Stack Pane |
![]() | Temporaries Pane |
![]() | Inspector Pane |
![]() | Source Pane |
![]() | Inspector |
![]() | Published Aspects Pane |
![]() | Instance Variables Pane |
![]() | Visual Object Finder Pane |
![]() | System Transcript |
![]() | Class Diagram |
![]() | Live Update |
![]() | Process Monitor |
![]() | Executable Browser |
![]() | STS Tools |
![]() | Source Tracking System |
![]() | Method Editions Browser |
![]() | Method Editions Pane |
![]() | Method Comparison Browser |
![]() | Class Editions Browser |
![]() | Class Editions Pane |
![]() | Class Editions Method List |
![]() | Package Editions Browser |
![]() | Package Editions Package Pane |
![]() | Package Editions Pane |
![]() | Package Editions History Viewer |
![]() | Project Editions Browser |
![]() | Projects Pane |
![]() | Project Editions Pane |
![]() | Contained Package Editions Pane |
![]() | Changes Browser |
![]() | Changes List Pane |
![]() | Programming Cookbook |
![]() | Creating GUI Applications |
![]() | Model View Presenter Overview |
![]() | Model |
![]() | View |
![]() | Presenter |
![]() | Component-based Architecture |
![]() | Pluggability |
![]() | Flexibility |
![]() | Pluggable Views |
![]() | Pluggable Models |
![]() | Why are Views Observers? |
![]() | Sharing a Model |
![]() | Creating MVP Components |
![]() | Models |
![]() | Presenters |
![]() | Views |
![]() | Elemental MVP Components |
![]() | Composite MVP Components |
![]() | Creating Console Applications |
![]() | Architecture |
![]() | Accessing Standard I/O Streams |
![]() | Accessing Command Line Arguments |
![]() | Calling C Runtime Library Functions |
![]() | Accessing Environment Variables |
![]() | Intercepting Console Control Commands |
![]() | Testing and Debugging Console Applications |
![]() | Debugging with Command Line Parameters |
![]() | Error Handling |
![]() | Deploying Console Applications |
![]() | Distributing Console Applications |
![]() | Deploying Applications |
![]() | Lagoon Deployment Kit |
![]() | Application Deployment Overview |
![]() | Deployment Strategy |
![]() | What to do when things go wrong |
![]() | Lagoon Deployment Wizard |
![]() | Initial Screen |
![]() | Step 1 |
![]() | Step 2 |
![]() | Step 3 |
![]() | Step 4 |
![]() | Step 5 |
![]() | Step 6 |
![]() | Step 7 |
![]() | Final Step |
![]() | Lagoon Deployment Tutorial |
![]() | Hello World |
![]() | Distributing Your Application |
![]() | Target Machine Requirements |
![]() | Redistributable Components |
![]() | Creating a Setup Program |
![]() | External Interfacing |
![]() | External Libraries |
![]() | Parameter Conversion and Wrapper Methods |
![]() | Caution: Objects may Move or Disappear |
![]() | Returning Structures |
![]() | External Methods |
![]() | External Method Format |
![]() | Parameter Types, Validation and Conversion |
![]() | External Call Limitations |
![]() | Overlapped Calls |
![]() | Thread Affinity |
![]() | To Overlap or Not to Overlap |
![]() | Virtual Calls (C++/OLE COM Interface) |
![]() | OLE/COM/Active-X Functions |
![]() | External Structures |
![]() | ExternalStructure |
![]() | Dynamic Field Access |
![]() | Compiled Field Access |
![]() | External Structure Limitations |
![]() | External Field Types |
![]() | Scalar Fields |
![]() | Pointer Fields |
![]() | Embedded Fields |
![]() | Filler Fields |
![]() | Unions |
![]() | Restricting Field Access |
![]() | Structure Packing |
![]() | External Arrays |
![]() | Arrays of Scalar Values |
![]() | Arrays of Structures |
![]() | COM/.Active-X Array Types |
![]() | External Memory Management |
![]() | External Callbacks |
![]() | ExternalCallback Objects |
![]() | Callback Lifetime |
![]() | Unwinding Callbacks |
![]() | Debugging Callbacks |
![]() | Callback Entry Points |
![]() | Inbound Argument Conversion |
![]() | Closure or User Data Arguments |
![]() | MessageCallback Objects |
![]() | Virtual Callbacks |
![]() | Further Information |
![]() | Exception Handling |
![]() | Class vs Instance |
![]() | Resumable vs Non-resumable Exceptions |
![]() | General Categories of Exception |
![]() | Errors |
![]() | Warnings |
![]() | Notifications |
![]() | Raising Exceptions |
![]() | Catching Exceptions |
![]() | Catching Multiple Exceptions |
![]() | Handling Exceptions |
![]() | Exception Hierarchies |
![]() | Exceptions vs. Unwinds |
![]() | Win32 Structured Exceptions |
![]() | How it works |
![]() | Guidelines for Use |
![]() | Weak References and Finalization |
![]() | And finally?? |
![]() | Weak References |
![]() | How do Finalization and Mourning Actually Work? |
![]() | The Rules |
![]() | Zen and the art of Finalization |
![]() | Binary Filing Objects |
![]() | Storing objects |
![]() | Storing globals |
![]() | Retrieving objects |
![]() | Mixing STB with other data |
![]() | Customising storage |
![]() | How to use an STB Proxy |
![]() | Creating an STB Proxy class |
![]() | Deferred fixup |
![]() | Overriding a proxy |
![]() | Making use of the filer context |
![]() | Converting STB data after instance layout changes |
![]() | STB Debugging |
![]() | STB Exceptions |
![]() | Chunk Files |
![]() | Dolphin's Chunks |
![]() | Classes |
![]() | Methods |
![]() | Expressions |
![]() | Importing from other Smalltalks |
![]() | Database Connectivity |
![]() | Setting up a Sample Data Source |
![]() | Connecting to a Data Source |
![]() | Supplying a Username and Password |
![]() | Choosing from a list of Data Sources |
![]() | Querying the Capabilities of a Data Source |
![]() | Querying the Database Structure |
![]() | Executing SQL Queries |
![]() | Navigating through a Result Set |
![]() | Accessing a Row |
![]() | Inspecting a Result Set |
![]() | Executing SQL Statements |
![]() | Preparing SQL for Later Execution |
![]() | Preparation |
![]() | Parameterization and Execution |
![]() | Preparing Queries |
![]() | An alternative method for describing columns |
![]() | Transactions |
![]() | Commit |
![]() | Rollback |
![]() | Read-Only Transactions |
![]() | ODBC Error handling |
![]() | Cleaning up |
![]() | Bypassing finalization |
![]() | Reinstatement on Image Re-load |
![]() | Sockets Connectivity |
![]() | The Socket Connection Interface |
![]() | Blocking |
![]() | Blocking the User Interface Main Process |
![]() | Non-Blocking |
![]() | Examples |
![]() | Persistency of Sockets |
![]() | Internet Addresses |
![]() | Listening for a Connection with a ServerSocket |
![]() | Establishing a Client Connection |
![]() | Examples |
![]() | Streaming over a Socket Connection |
![]() | Talking Objects across a Socket Connection |
![]() | Convenience methods for reading and writing objects |
![]() | Monitoring Blocking Calls |
![]() | Talking Bytes across a Socket Connection |
![]() | Using the Non-Blocking Calls |
![]() | Exceptions |
![]() | Additional Samples - Chat |
![]() | Creating COM Components |
![]() | Reference Counting |
![]() | Marshalling |
![]() | Type-library Marshalling |
![]() | Standard Marshalling |
![]() | Dolphins COM Framework |
![]() | Interfaces |
![]() | Implementations |
![]() | COMObjectStub |
![]() | Class Factories |
![]() | Building a COM component |
![]() | Write or Acquire IDL |
![]() | Build Type Library |
![]() | Generate Interfaces |
![]() | Define Implementation Class |
![]() | Testing & Debugging |
![]() | Debugging with Dolphins COM Framework |
![]() | Client Limitation |
![]() | Debugging "In-image" |
![]() | Registering a Class Factory |
![]() | Choice of Client |
![]() | Registering the Component |
![]() | Registering the Marshalling Code |
![]() | Debugging In-Process |
![]() | The Image Key |
![]() | In-process Start Up Sequence |
![]() | Initiating an In-process Debugging Session |
![]() | Terminating an In-Process Session |
![]() | Debugging Out-of-Process |
![]() | Out-of-process Start Up Sequence |
![]() | Creating an Instance |
![]() | Initiating an Out-of-Process Session |
![]() | Pre-started Session |
![]() | On Demand Session |
![]() | Terminating an Out-of-Process Session |
![]() | Failure to Shutdown |
![]() | Deploying & Running the Random Stream Sample |
![]() | Step 1 Deploy |
![]() | Step 2 Test (Unregistered) |
![]() | Step 3 Register |
![]() | Step 4 Test (Registered) |
![]() | Step 5 Register Type Library (Windows 9x only) |
![]() | Bibliography |
![]() | DolphinSure |
![]() | Redistributables |
![]() | DolphinSure Certificates |
![]() | The CA Root Certificate |
![]() | Company Certificates |
![]() | Personal Certificates |
![]() | Applying for a DolphinSure Certificate |
![]() | DolphinSure Certificate Stores |
![]() | My Certificates |
![]() | Temporary Trust |
![]() | Permanent Trust |
![]() | Installing a Certificate |
![]() | Accessing the Stores |
![]() | Creating your own Trusted Data |
![]() | Tutorials |
![]() | A First Splash with Dolphin |
![]() | With the examples below: |
![]() | 3+4 |
![]() | Big Numbers |
![]() | Timing Things |
![]() | Sorting and Inspecting Things |
![]() | How Many Objects? |
![]() | Digital Clock |
![]() | Stop the Clock |
![]() | Play a Sound |
![]() | Initialising an Array |
![]() | Win the Lottery |
![]() | Win the Lottery (Reprise) |
![]() | Scribble |
![]() | Sketching and Scribbling at the Same Time |
![]() | Searching the Image for Text |
![]() | Tidying up |
![]() | When You've Finished Here... |
![]() | Beginners Guide to Smalltalk |
![]() | Getting Started |
![]() | First Use |
![]() | Opening a new Workspace |
![]() | Exiting Dolphin |
![]() | The Image |
![]() | When should I save my Image? |
![]() | The System Folder |
![]() | The System Transcript |
![]() | What have you learned? |
![]() | Objects and Messages |
![]() | What is an Object? |
![]() | Objects communicate with Messages |
![]() | Simple Messages |
![]() | Messages that are not understood |
![]() | Sending Messages on top of Messages |
![]() | Binary Messages |
![]() | Keyword Messages |
![]() | Comments |
![]() | Arithmetic |
![]() | Order of Messages |
![]() | Variables and Assignments |
![]() | Workspace Variables |
![]() | Temporary Variables |
![]() | Instance Variables |
![]() | Global Variables |
![]() | Cascading Messages |
![]() | Yourself |
![]() | Message Selectors are Symbols |
![]() | What have you learned? |
![]() | Playing with Objects in the Playground |
![]() | Creating a Playground |
![]() | Adding Shapes to a Playground |
![]() | Talking to Teresa, Simon and Charlie |
![]() | Making them Jump |
![]() | Experimenting |
![]() | What have you learned? |
![]() | Control Flow |
![]() | Setting up a Playground for Experimentation |
![]() | Comparing Objects |
![]() | Testing an Object |
![]() | Controlling the Flow of Execution |
![]() | Looping |
![]() | Iterating Through a Range of Values |
![]() | More Complicated Boolean Expressions |
![]() | The Beauty of #ifTrue: (and friends) |
![]() | What have you learned? |
![]() | Classes and Methods |
![]() | Classes |
![]() | Class Browser |
![]() | Methods |
![]() | Short is beautiful |
![]() | Method header |
![]() | Temporary variables |
![]() | Answering a result |
![]() | Private Methods |
![]() | Named Instance Variables |
![]() | Accessor Methods |
![]() | Categorizing Methods |
![]() | Indexed Instance Variables |
![]() | Classes as Object Factories |
![]() | Getting More Help on the Class Browser |
![]() | What have you learned? |
![]() | Programming in Smalltalk |
![]() | The Animal game |
![]() | How it works |
![]() | Class Inheritance |
![]() | Superclass and subclass |
![]() | Is-a and Contains-a Relationships |
![]() | Creating a class |
![]() | Adding instance variables |
![]() | Adding methods |
![]() | Adding accessor methods |
![]() | Time for a Test |
![]() | Nil |
![]() | Instance creation methods |
![]() | Representing an object as text |
![]() | #displayString and #displayOn: |
![]() | #printString and #printOn: |
![]() | Self and Super |
![]() | Creating the Question class |
![]() | Add class Question as a subclass of Object |
![]() | Add the accessor methods |
![]() | Adding an instance creation method |
![]() | Printing and displaying a Question |
![]() | Creating a class variable to hold the knowledge base |
![]() | Initialize the Animal class |
![]() | Wiring the game together |
![]() | Asking the questions |
![]() | Prompting for a new Animal |
![]() | Prompting for a new Question |
![]() | Playing the game |
![]() | Emergency checklist |
![]() | Packaging the Animal game |
![]() | Creating a new package |
![]() | Creating a package comment |
![]() | Saving the package |
![]() | Unloading a package from your image |
![]() | What have you learned? |
![]() | Tell Me How |
![]() | Creating a GUI Application |
![]() | Using Patterns |
![]() | PersonalMoney - a simple account manager |
![]() | Creating a Project |
![]() | Designing the Domain Models |
![]() | PersonalMoney |
![]() | PersonalAccount |
![]() | PersonalAccountTransaction |
![]() | Testing the Domain Models |
![]() | Designing the User Interface |
![]() | PersonalAccountShell: a Presenter for PersonalAccount |
![]() | Drawing a View for PersonalAccountShell |
![]() | Using the Property Inspector |
![]() | Adding the fields |
![]() | Adding static decoration |
![]() | Adding Command Push Buttons |
![]() | Menus and Toolbars |
![]() | Saving the View |
![]() | Testing the User Interface for PersonalAccount |
![]() | PersonalAccountTransactionDialog:a Presenter for PersonalAccountTransaction |
![]() | Drawing a View for PersonalAccountTransactionDialog |
![]() | Saving the View |
![]() | Testing the User Interface for PersonalAccountTransactionDialog |
![]() | PersonalMoneyShell: a Presenter for PersonalMoney |
![]() | Drawing a View for PersonalMoneyShell |
![]() | Saving the View |
![]() | Testing the PersonalMoney application |
![]() | The PersonalMoney application in use |
![]() | Appendix A: Jumping Into Smalltalk |
![]() | Temporary Variables |
![]() | Assignment |
![]() | Messages |
![]() | Statements |
![]() | Literals |
![]() | Special Words |
![]() | Returning from Methods |
![]() | Cascades |
![]() | Comments |
![]() | Instance Creation |
![]() | Constructors |
![]() | Methods |
![]() | Blocks |
![]() | End of the Syntax |
![]() | Control Structures |
![]() | Loops |
![]() | Things Left To Learn |
![]() | Appendix B: Dolphin Pattern Book |
![]() | Software Patterns |
![]() | The Pattern Sheet |
![]() | Further Reading |
![]() | Application Patterns |
![]() | New Application |
![]() | Class Patterns |
![]() | New Class |
![]() | Class Name |
![]() | Instance Variable Role |
![]() | Instance Variable Name |
![]() | Class Initialization |
![]() | Abstract Class |
![]() | Abstract Factory |
![]() | Process Safe Class |
![]() | Property |
![]() | Method Patterns |
![]() | New Method |
![]() | Method Name |
![]() | Temporary Variable Role |
![]() | Instance Creation Method |
![]() | Instance Initialization |
![]() | Lazy Initialization |
![]() | Accessor Method |
![]() | Factory Method |
![]() | Constant Access Method |
![]() | Private Method |
![]() | Code Layout |
![]() | Method Comment |
![]() | Global Variable Patterns |
![]() | Global Variable |
![]() | Global Name |
![]() | Singleton |
![]() | Object Lifetime Patterns |
![]() | Finalization |
![]() | Weak Collection |
![]() | Object Liberation Strategy |
![]() | External Interfacing Patterns |
![]() | External Library |
![]() | External Method Selector |
![]() | External Callback |
![]() | Miscellaneous Patterns |
![]() | Inheritance vs. Composition |
![]() | Policy |
![]() | Word Capitalization |
![]() | Glossary of Terms |
© 1997 - 2006 by Object Arts Ltd, all rights reserved