Misplaced Pages

Realbasic: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editContent deleted Content addedVisualWikitext
Revision as of 16:37, 18 March 2006 editTruthInAdvertising (talk | contribs)28 editsNo edit summary← Previous edit Latest revision as of 20:52, 10 March 2017 edit undoChristian75 (talk | contribs)Extended confirmed users, New page reviewers, Pending changes reviewers, Rollbackers114,737 edits {{redr}} is deprecated - converting to {{Redirect category shell|}} using AWB 
(536 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
#REDIRECT ]
{{Infobox Software |

name = REALbasic
{{Redirect category shell|
| logo = ]
{{R from former name}}
| screenshot = ]
{{R from merge}}
| caption = The REALbasic 2005 IDE running on Mac OS X
| developer = REAL Software, Inc.
| latest_release_version = 2006 R1
| latest_release_date = ]th, ]
| operating_system = ], ], ]
| genre = ]
| license = ]
| website =
}} }}

'''REALbasic''' ('''RB''') is an ] dialect of the ] developed and commercially marketed by REAL Software, Inc in ] for ], ], and ]. Created by Andrew Barry, who has since moved on to creating ExtremeBasic, it was originally called CrossBasic due to its ability to compile the same programming code for Mac OS and Windows (although the ] was Mac only). It was then redubbed REALbasic by REAL Software when they took over development in ]. The IDE is now available for all three supported platforms (with exception, as of February 2006, of ] ]).

== Language features ==
RB is a strongly typed language with minimal automatic type conversion, that supports single ] and multiple ], ] ] and ] properties, ] (similar to ]), definition of customized arithmetic operators (similar to ]). It has a complete feature set supporting ], ], real-time ], sound, ] parsing and generation (even through ]), full ] support, ] calls to compiled ] libraries on all supported platforms, ] datatypes compatibility, ], ], ], ] sockets, ], ], ], ], ], ] support through ], ], ], ], ], ] and ].

== File Format ==
The source file format contains window and control placement data and is proprietary; however, ] import and export and ] import functionality is included. All source code can be contained in one project file, but it is also possible to have classes/modules in separate files in the same way as most other languages or dialects can. REALbasic compiles directly to ] for each platform that it supports (Mac OS X, MS Windows, Linux).

==Application Size==
Historically each release of REALbasic has seen an increase in both the size of the REALbasic application and applications compiled by REALbasic. Since individual projects vary as to content, a new blank desktop project with a single default window, no internal code, and no controls is used as a standard bench mark for measuring compiled application sizes. In the following examples of various recent major versions of REALbasic the size of the REALbasic is listed first, followed by sizes of compiled applications for Windows (Windows 98, ME, NT (4.0 or higher), 2000, or XP ), Mac Classic (8.6 to 9.2.2), and Mac OS X (10.1 or later):

4.0 (Mac Classic) 10.1MB
Windows 792K (.773 MB)
Mac Classic 1.3MB
Mac X 1.6MB

5.0 (Mac X) 14.8MB
Windows 1.7MB
Mac Classic 1.3MB
Mac X 1.5MB

5.5.5 (Mac X) 32.5MB
Windows 1.7MB
Mac Classic 880KB (.859 MB)
Max X Mach-O 2.3MB
Mac X PEF 876KB (.855 MB)

RB2006 Build 1 (Mac X) 120.8MB
Windows 2.4MB
Mac Classic 1MB
Mac X Mach-O 2.8MB
Mac X PEF 1MB


== Current Editions of IDE ==
]
There are two versions of the ]:
* The professional edition can compile programs for ], ] and ] (plus ]) from the same ] file; it can also access ]s (], ], ] etc.) including the built-in single-user REAL SQL Database engine based on ]; it compiles console applications and has numerous other features.
* The standard edition only compiles programs for the platform that the IDE is running on (either Windows, Linux or Mac), and does not allow access to ] other than the built-in REAL SQL Database.

Both versions of the IDE permit building the application ] by dragging the controls from a palette to their parent window. Layout of the controls is helped by the IDE that permits aligning them (both horizontally and vertically), and which gives informations about the distance between controls, or between a control and the window borders.

RB IDE can use ] that extend the language with ] or ] and which permit to develop ] code more easily.

== Prior IDE Version History ==
Versions of REALbasic prior to the introduction of RB2005 (5.5.5 and prior releases) involved the use of two primary IDE interfaces: (a) A Macintosh interface using a multi-window interface based upon on the Classic Macintosh operating environment (the original operating system REALbasic was developed for); and (b) A Windows MDI (Multi Document Interface) interface using a single parent window in which the various project window objects could be viewed by opening them into seperate child windows.

Individual project window objects could be viewed and edited within untabbed individual windows by simply double clicking the item within the project window, which would immediately open the double clicked item within a new window. If a newly opened window contained a end-user interface of a run time window its underlying code editor could be viewed by simply clicking anywhere inside the interface of the newly opened window.

Prior IDE versions of REALbasic (5.5.5 and earlier) also featured a seperate control pallet window containing icons of controls (both built-in and plug-in derived controls) which could be dragged onto a project window to build end-user interfaces. Prior versions of REALbasic (5.5.5) also featured a seperate properties window which listed a object's properties when a object was selected with the host computer's mouse. Versions of REALbasic prior to RB2005 (5.5.5 and earlier) also featured a code spliter, a seperate color pallet window, the ability to export a project as an plain text file, a 16 X 12 pixel icon and mask within the icon build window for Classic MAC OS builds of projects, the ability to run remotely under the Classic Mac OS, and other long term features which have been removed with the introduction of RB2005, most notably the inability of REALbasic's IDE to run on any Macintosh operating system from 8.6 to 10.2.6.


==Historical Long Term & Existing Bug History==
Among the most noteable long terms bugs still present in the current version of REALbasic (RB2006), and which has existed since at least version 3.0, is the Windows help tag bug. In Windows builds of projects any existing helptags inside a compiled Windows application only intitally appear when a window opens, but once a control inside a window is used once (aside from the window's close, maximum, and minimize widgets) its help tag permantely disappears and cannot be used by the end-user of the application.

Another well know bug which existed since the inception of REALbasic is comonly referred to as "flicker". Flicker can best be described as the improper redrawing of a portion of an application's window, mostly commonly a single control or a group of controls, so as to cause a noticeable "animation" of the control which is contrary to the generally accepted guidelines established by the publisher of the operating system (such as Apple or Microsoft). Flicker caused by the improper coding of controls by a programmer is not considered a REALbasic bug as such results are initiated by the coder; however, REALBasic includes a number of bugs which are inherit within in built-in controls which the programmer has no control over and are the result of the controls being improperly implemented or emulated within REALbasic. Operating systems such as Macintosh OS X (10.1 and later) use "double buffering" to effectively hide the problem of flicker; however, Classic Mac OS and Windows based systems (including XP) do not utilize double-buffering so care must be taken to account for this lack of double buffering. In most cases a user can prevent their own code from causing flicker by manipulating graphics via "off screen" graphics and updating a window or control or via a paint event; however, there unfortunately is no way to overcome certain flicker related defects within the built-in controls. One easily reproduceable example of such a defect involves the listbox control. If, for example, a multi-column listbox control in populated with text and then text within the listbox is selected rapidly, flicker is caused to various degrees on different operating system; in Mac OS Classic 9.0 the entire listbox flickers, while on systems such as Window XP Home the text within the listbox's headers flicker. By examining listbox controls within applications built by the publishers of the operating systems on which compiled REALbasic applications run (such as Apple and Microsoft) one can easily determine that flicker is not present in such applications, but remain a problem in applications using particular REALbasic built-in controls which do not properly emulate industry standard controls for a given operating system.

A long term historical bug which still persists in the latest release of REALbasic (RB2006) pertains to the Classic Macintosh OS and the WatchCursor. When an application is instructed to perform a processor intense operation which may cause a noticeable pause within the interface of the application the Classic operating system will generally change the default arrow cursor to a watch cursor as a visual clue to the user the application is working, after which the the mouse cursor reverts back to its default arrow cursor. Because the watch cursor is generally regarded as annoying visual display for short periods of time not requiring a progressbar REAlbasic provides a specal pragma directive ( #Pragma DisableAutoWaitCursor) for supressing the automatic display of the watch cursor; however, this often or or not does not work due to a interanl bug of REALbasic in relation to various Classic Maintoch operating systems (9.2.2 and earlier). The "Classic Mode" of Macintosh X is not generally affected by this bug.

== More screenshots ==
{|
| ]
| ]
|-
| ]
|}

== Example code ==
Here's some sample code that computes the ] of a given ] (using both the MD5() function and the MD5Digest class), and then shows both values in a ]:

<pre>
Dim Hash As String
Dim Digest As New MD5Digest
Hash = MD5("Source String")
MsgBox(Hash)
Digest.Process("Source")
Digest.Process(" String")
MsgBox(Digest.Value)
</pre>

This is an example of ] for a hypothetical Complex ] which permits to sum a ] to a ], and to sum two complex numbers:

<pre>
Function Operator_Add(rhs as Simple) As Complex
Dim ret As New Complex
ret.R = Self.R + rhs
ret.I = Self.I
Return ret
End Function

Function Operator_Add(rhs as Complex) As Complex
Dim ret As New Complex
ret.R = Self.R + rhs.R
ret.I = Self.I + rhs.I
Return ret
End Function
</pre>

The same function can be defined to accept ] ] values.
This code shows how to use the Complex ] to sum a ] with a ]:

<pre>
Dim First As New Complex(0, 1)
Dim Second As New Complex(1, 1)
Dim Sum As Complex
Sum = First + 5.0 + Second
// Sum will be (6, 2)
</pre>

==External links==
*, makers of REALbasic.
*
*
*
*
*, REALbasic learning at the speed of now.
*, home of the online version of the book "I Declare: Calling External Functions in REALbasic"
*, a wiki powered developer community and code repository
*
*, a wiki dedicated to REALBasic documentation
*, a REALbasic resource site
*
*
*
*
*, getting started with REALbasic (beginner to intermediate)
*
*, understand how it works

== See also ==
*]
*]
*]
*]
*]
*]
*]

]
]
]
]

]
]
]

Latest revision as of 20:52, 10 March 2017

Redirect to:

This page is a redirect. The following categories are used to track and monitor this redirect:
  • From a former name: This is a redirect from a former name or working title of the target topic to the new name that resulted from a name change.
  • From a merge: This is a redirect from a page that was merged into another page. This redirect was kept in order to preserve the edit history of this page after its content was merged into the content of the target page. Please do not remove the tag that generates this text (unless the need to recreate content on this page has been demonstrated) or delete this page.
When appropriate, protection levels are automatically sensed, described and categorized.