You can convert a Delphi DateTime value (this is in OLE Automation date Format) using DateTime.FromOADate() method:
- DotNet.Date = DateTime.FromOADate(DelphiDateTimeValue);
You can convert a Delphi DateTime value (this is in OLE Automation date Format) using DateTime.FromOADate() method:
Die Umsetzung des Ribbon Controls seitens Embarcadero lässt an einigen Stellen sehr zu wünschen übrig. Nachdem ich heute den Grund des häufigen Flickerns ausfindig machen und beheben konnte, ergab sich ein Problem mit der länge der Recent Items im ApplicationMenu.
Dort kann man zwar problemlos RecentItems hinzufügen per
Ribbon1.AddRecentItem(AFileName);
Hat man nun aber sehr lange Dateinamen, dann sieht der Anwender lediglich den Pfadnamen und der Dateiname wird abgeschnitten. Das ist nicht wirklich im Sinne des Erfinders.
In der Unit Ribbon.pas im Verzeichnis C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\source\Win32\vcl
habe ich folgendes Änderungen vorgenommen:
procedure TCustomRibbon.RecentActionHandler(Sender: TObject);
begin
// emba code
// DoRecentItemClick(TAction(Sender).Caption, TAction(Sender).Tag);
// new code:
DoRecentItemClick(TAction(Sender).Hint, TAction(Sender).Tag);
end;
und in der function AddRecentItem(…)
folgende Änderung:
// fix by HAM 2010-10-19:
// LAction.Caption := FileName;
LAction.Caption := ExtractFileName(FileName);
LAction.Hint := FileName;
LItem.Hint := FileName;
// end of fix
Damit wird der Pfad immerhin noch im Hint des TAction Items zwischengespeichert und angezeigt wird der kurze per ExtractFileName() extrahierte Dateiname.
Im RecentActionClick event wird dann auf der voll Dateiname übergeben.
Here is an example how to detect the Windows version and set the default font name and size of your app if it is Windows Vista or higher. Important: you have to enable the ParentFont property of each form in your project! program MyApp; uses Forms, SysUtils; {$R *.res} begin Application.Initialize;if CheckWin32Version(6) then begin Application.DefaultFont.Name := 'Segoe UI'; Application.DefaultFont.Size := 9; end;Application.MainFormOnTaskbar := True; Application.CreateForm(TfrmMain_MyForm, frmMain_MyForm); Application.Run; end.
After installation of Windows 7 (64 Bit) and installation of Delphi 2009 the following error “Assertion failure “(!”SetThreadContext failed”)” in “\win32src\thread32.cpp at line 434 Continue execution?” occured terminating the started application in IDE.
The IDE has to be closed per Windows Task Manager.
But there is an inofficial fix that Olaf Molien described in his blog.
There is a howto and a tool to modify the file “bordbk120N.dll”.
My IDE doesn’t throw any exception after the fix. Nice work!
Nachdem ich nun das neue Feature Generics in meinen Quellcodes implementiert hatte, musste ich auch gleich eine schmerzhafte Bekanntschaft mit einigen Zugriffsverletzungen bei der Benutzung von folgenden Methoden machen:
Das Problem hier ist, dass in der Unit Generics.Collection auf eine nicht erzeugte Instanz von TComparer zugegriffen wird.
Die Lösungen sind die folgenden:
Ein Update seitens Embarcadero gibt es bis dato nicht.