Hallo,
Fast alle hier vorgeschlagenen Schritte hatte ich schon versucht. Die Lösung fand ich tatsächlich, indem ich nach und nach alle nach der letzten funktionierenden Version durchgeführte Änderungen rückgängig gemacht hatte. Aber des Rätsels Lösung wirft neue Fragen auf. Folgender Sachverhalt:
Ich hatte im Interface-Teil vor der Deklaration des Hauptformulars folgende Typ-Deklaration platziert:
Code:
unit GetLatestGUI_V4;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ComCtrls, Shellapi,
ImgList, Buttons, Menus, ToolWin, System.ImageList, UITypes, AnsiStrings,
iTunesLib_TLB, FileListCopy, CreateClips, GLOptions;
type
TMemoBak = Array[0..1] of String;
In der anschließenden Deklaration des Hauptformulars wurde dann in der 'private' - Sektion ein Feld dieses Typs deklariert:
Code:
type
TGL4Mainform = class(TForm)
Label3: TLabel;
Label4: TLabel;
Memo1: TMemo;
MemoButton1: TButton;
//[...] (96 Deklarationen)
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
//[...] (56 Deklarationen)
private
{ Private-Deklarationen }
membak: TMemoBak;
Playlistmode:TListmode;
allsize: int64;
//usw.
Nachdem ich die 'private' Felddeklaration 'membak' entfernt und durch eine (
Unit-)globale Variable des gleichen Typs im Implementations - Teil ersetzt hatte, war der Fehler verschwunden. Alternativ genügt es, die Typ - Deklaration in den Interface-Teil einer in der 'uses'-Klausel aufgeführten
Unit zu verschieben. Dann kann auch das 'private' Feld deklariert werden.
Alles in allem äußerst rätselhaft, wie das zusammenhängt. Womöglich ist das merkwürdige Verhalten nur ein Seiteneffekt irgendeines tiefer liegenden Fehlers oder gar eines Bugs der
IDE? Jedenfalls lässt sich das Projekt ansonsten fehlerfrei compilieren bzw. erzeugen. Es gibt auch keinerlei speziellen Hinweis oder Warnung. Das Ganze ist zuverlässig reproduzierbar, auch in anderen Units verschiedener Projekte.
Vielleicht hat einer der hier versammelten Experten eine Erklärung für das rätselhafte Phänomen?
Gruß Maekkelrajter