InnoSetup Registry auslesen bei 32bit und 64bit

27.10.2015 - Lesezeit: ~1 Minute
function GetHKLM: Integer;
begin
  if IsWin64 then
    Result := HKLM64
  else
    Result := HKLM32;
end;

function FirebirdDefaultDir() :string;
begin
  if RegQueryStringValue(GetHKLM(),'SOFTWARE\Firebird Project\Firebird Server\Instances','Defaultinstance',result) then
    Result:=AddBackSlash(Result)
  else
    Result:='';
end;

function isNotFirebird() :boolean;
var
  s :string;
begin
  Result:=true;
  s:=FirebirdDefaultDir();
  if s<>'' then
    Result:= not FileExists(s+'bin\fbClient.dll') and not FileExists(s+'WOW64\fbClient.dll');
end;
Tags: InnoSetup


Delphi beliebte Fehler: Delphi 10 - Debugging funktioniert nicht

14.10.2015 - Lesezeit: ~1 Minute

Das ist aber eine böse Falle für Umsteiger von Delphi 2009 auf Delphi 10 Seattle:

Wenn das Programm in der IDE mit dem grünen Pfeil gestartet wird, sollte man vorher den Hinweis lesen "Ohne Debugger ausführen".

Um das Programm in der IDE mit Debugger zu starten die Taste F9 benutzen oder diesen Schalter

Tags: Delphi-Programmierung

Beaglebone Black mit Ubuntu als SVN-Server einrichten

07.10.2015 - Lesezeit: 3 Minuten

Das SVN-Verzeichnis möchte ich auf einem USB-Stick am Beaglebone anlegen.

Jedoch war der USB-Stick nach dem Einstecken nicht sichtbar.

Make sure the usb device is plugged in before power on.. USB hotplug is not working

Also den Beaglebone nach 200 Tagen Uptime neu starten. Ein bisschen weh hat das schon getan.

Jetzt benutze ich doch eine 16GB-Micro-SDCard

Linux-Partition erstellen

$ sudo fdisk /dev/mmcblk0
Command (m for help): p

Disk /dev/mmcblk0: 30.9 GB, 30908350464 bytes
255 heads, 63 sectors/track, 3757 cylinders, total 60367872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192    60367871    30179840    c  W95 FAT32 (LBA)

Command (m for help): d
Selected partition 1

Command (m for help): p

Disk /dev/mmcblk0: 30.9 GB, 30908350464 bytes
255 heads, 63 sectors/track, 3757 cylinders, total 60367872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-60367871, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-60367871, default 60367871): 
Using default value 60367871

Command (m for help): p   

Disk /dev/mmcblk0: 30.9 GB, 30908350464 bytes
255 heads, 63 sectors/track, 3757 cylinders, total 60367872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048    60367871    30182912   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

ext 4 Filesystem erstellen

$ sudo mkfs.ext4 /dev/mmcblk0p1

Mountpunkt erstellen

$ sudo mkdir /var/svn

BlkID anzeigen und kopieren

$ sudo blkid
[sudo] password for wnf: 
/dev/mmcblk0p1: UUID="a7735e75-307b-4223-8d28-9e454136fdd9" TYPE="ext4" 
/dev/mmcblk1p1: LABEL="rootfs" UUID="235d14e8-cf33-4c0e-ad4a-feeb81e0fe17" TYPE="ext4"

In die FSTAb eintragen

$ sudo nano /etc/fstab
UUID=a7735e75-307b-4223-8d28-9e454136fdd9 /var/svn/ ext4 noatime,errors=remount-ro  0  1

Mounten

$ sudo mount /var/svn
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk1p1  1.8G  837M  842M  50% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            247M   12K  247M   1% /dev
tmpfs            50M  256K   50M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            249M     0  249M   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/mmcblk0p1   29G   44M   27G   1% /var/svn
Tags: Linux-Grundlagen beaglebone

Eeebox mit Debian als SVN-Server einrichten

07.10.2015 - Lesezeit: ~1 Minute

Da der Startmedienersteller den Bootlader auf dem USB Stick nicht erstellen konnte habe ich mein Herz in die Hand genommen und dd verwendet.

$ sudo dd if=/wnfdaten/Downloads/debian-8.2.0-i386-netinst.iso of=/dev/sde bs=1048576
315+0 Datensätze ein
315+0 Datensätze aus
330301440 Bytes (330 MB) kopiert, 28,7128 s, 11,5 MB/s

Subversion einrichten nach der folgenden Anleitung

Operation geglückt ...

svn://192.168.1.10/wnfalbum

... Patient tot

Die Eeebox nimmt mir zu viel Leistung auf (sie wird zu warm) um 24/7 zu laufen.

Tags: Linux-Grundlagen EeeBox

Delphi beliebte Fehler: Grid auf einem Formular erhält nicht den Focus

29.09.2015 - Lesezeit: ~1 Minute

Das Problem:

Ein Eingabedialog wird mit Showmodal aufgerufen und das Grid im Eingabedialog erhält nicht den Fokus und ist auch mit der Maus nicht anklickbar.

Die Lösung

Schuld war der Aufruf des Eingabedialogs im Hauptformular der Anwendung bereits im OnFormActivate Ereignis, ohne der Anwendung Zeit zu geben alle bis dahin anstehenden Ereignisse abzuarbeiten.

procedure Tam_Main.FormActivate(Sender: TObject);
begin
  // Der Anwendung Zeit geben, alle bisher anstehenden Ereignisse abzuarbeiten.
  Application.ProcessMessages;
  am_Eingabe.Execute;
end;
Tags: Delphi-Programmierung