From: "Saved by Windows Internet Explorer 8"
Subject: Gryphon C/C++ Libraries Release Notes
Date: Mon, 4 Apr 2011 15:21:14 -0400
MIME-Version: 1.0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: file://C:\Program Files\DG_Gryphon_Lib_4_5\Gryphon\Libs\Client\release_notes.html
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.17514
Gryphon C/C++ Libraries Release Notes
Gryphon C/C++ Libraries Release Notes
Release ID:=20
4.5.0.0
Release Date: February 25, 2011
Changes in Release 4.5
Promoted to Release designation
Changes in Release 4.5 Beta3
C++ Library:
- Fix in function =
dgGetLastOpStatus() , the user =
application=20
was crashing because of the way the status message was returned from =
the DLL=20
to the users application. This was because the function, dgGetLastOpStatus() was using a =
CString that=20
gets declared in the heap. The heap is corrupted when passed between =
the DLL=20
and the users application. The text, instead, is passed as a character =
array,=20
limited to 128 characters, .=20
- Added VersionInfo to DLL's for easier and accurate identification =
by=20
Properties>Details.=20
- Added icon button to access manual from Start >=20
Programs>GryphLib>Gryphon C++ Library User Manual.=20
C (& VB) Library:
- Fix in function =
dgGetLastOpStatus() , the user =
application=20
was crashing because of the way the status message was returned from =
the DLL=20
to the users application. This was because the function, dgGetLastOpStatus() was using a =
CString that=20
gets declared in the heap. The heap is corrupted when passed between =
the DLL=20
and the users application. The text, instead, is passed as a character =
array,=20
limited to 128 characters, and restored as a CString.=20
- Added VersionInfo to DLL's for easier and accurate identification =
by=20
Properties>Details.=20
- Added icon button to access manual from=20
Start>Programs>GryphLib>Gryphon C Library User Manual=20
C++ Library User's Manual:
- Changed 2nd parm of dgGetLastOpStatus() from CString to =
char[].=20
- Changed DG address and phone numbers to new =
headquarters.
C Library User's Manual:
- Changed 2nd parm of dgGetLastOpStatus() from CString to =
char[].=20
- Changed DG address and phone numbers to new =
headquarters.
Changes in Release 4.5 Beta2
C++ Library:
no changes
C (& VB) Library:
- Fix in function =
dgGetPayload() , the user =
application was=20
crashing if the message returned was larger than 127 bytes. This was =
because=20
function > dgGetPayload() =
declared a=20
temporary local array of size 128 bytes, but was not checking the size =
of=20
before calling method dgFrame::GetPayload(). This fix removed the =
temporary=20
local array. With this fix, if the message is larger than the sum of =
the three=20
size dataframeptr->GetHeaderLength()=20
, dataframeptr->GetDataLength()=20
, and dataframeptr->GetExtraLength()=20
the function dgGetPayload() =
will=20
return FALSE. THE USER should make these three function calls and make =
sure=20
that the size of the data array is larger than the sum of these three =
sizes=20
before calling the function dgGetPayload()=20
.
C++ Library User's Manual:
no changes
C Library User's Manual:
no changes
Changes in Release 4.5beta
C++ Library:
- Enhancement =
in dgGryphon::ModifyScheduleEntry(), =
added=20
two new optional method parameters, ucFlags and usSize. These =
parameters allow=20
ModifyScheduleEntry() to =
flush the=20
schedule buffer, leaving only usSize milliseconds worth of data before =
the new=20
schedule starts.
C (& VB) Library:
- Enhancement =
in dgModifyScheduleEntry(), added =
two new=20
function parameters, ucFlags and usSize. These parameters allow dgModifyScheduleEntry() to flush =
the schedule=20
buffer, leaving only usSize milliseconds worth of data before the new =
schedule=20
starts.
C++ Library User's Manual:
- Added two new function parameters, ucFlags and usSize to dgGryphon::ModifyScheduleEntry().=20
C Library User's Manual:
- Added two new function parameters, ucFlags and usSize to dgGryphon::ModifyScheduleEntry().=20
Changes in Release 4.4
C++ Library:
- Memory Leak =
Fixes. dgChannel::IOCtl() method fixed; =
dgChannelSpeed object destructor=20
added.
C (& VB) Library:
None.
C++ Library User's Manual:
None.
C Library User's Manual:
None.
Known Issues in this Release
- This is beta release. These specific modifications and =
enhancements have=20
been tested, but a full test of the new libraries has not yet been =
completed.=20
This release only includes the C++ and C DLLs, the user manuals, and =
the=20
sample programs.=20
- The Win32 installer program does not always completely uninstall:=20
- Windows XP Home Edition Version 2002 SP1: dlls not removed from =
the=20
system folder.
- When running a program in the MS Visual BASIC 6 IDE, any session =
that is=20
started by successfully calling dgBeginSession must be ended by =
calling=20
dgEndSession before exiting the program. Failure to do so =
may=20
crash the Visual BASIC IDE.=20
- In Visual BASIC 6, the callback mechanism (dgSetOnRx) works =
when=20
application runs in IDE, but crashes when application runs as an =
'exe'. An=20
alternative to using callbacks is to use polling =
(dgRecvFrame()) driven=20
by timer events.
- For Visual BASIC programs running in the VB 6 IDE: when using the =
callback=20
mechanism (dgSetOnRx), the IDE may crash when a larger number =
of=20
callbacks occur.
Build Notes
- The C library uses RTTI. If you use the C library you may need to =
enable=20
RTTI for your application for "debug" builds.=20
- When using the C library in a C++ program, and building with a=20
non-Microsoft compiler, be sure the "__cplusplus" preprocessor macro =
is=20
defined to ensure the proper linkage.=20
- The current version of the Gryphon C library is dependent on the =
current=20
version of the Gryphon C++ Library; it is not compatible with any =
prior=20
version of the Gryphon C++ Library.=20
- In order to eliminate memory management problems in the run-time=20
libraries, we recommend the following choices in the Visual Studio =
"Project=20
Settings" (MSVC 6.0):=20
- In the control labeled "Use run-time library:", select "Debug=20
Multithreaded DLL" for a Debug configuration, and select =
"Multithreaded DLL"=20
for a Release configuration.=20
- In the control labeled "Struct member alignment", select "8 =
bytes *".=20
- When building an MFC application: in the control labeled =
"Microsoft=20
Foundation Classes:", select "Use MFC in a Shared DLL". =
M Ciechanowski, P.E.