Einzelnen Beitrag anzeigen

ringli

Registriert seit: 7. Okt 2004
509 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Form in DLL (Text in Titelleiste zu kurz)

  Alt 6. Okt 2005, 18:06
Hallo Luckie!

Die Caption wird eigentlich nicht dynamisch gesetzt sondern im OI festgelegt. Aber auch wenn ich die Caption zur Laufzeit ändere wird nur ein Zeichen in der Titelleiste angezeigt.
Die Anwendung (stammt nicht von mir) in der später das AddIn laufen soll ist übrigends auf Unicode ausgelegt wenn das wichtig ist.

Delphi-Quellcode:
// Aufruf des Formulars in der Mainunit des AddIns
function TDelphiConnect.ShowConfigDialog(hWndOwner: LongWord): HResult;
begin
  // Form erstellen wenn nicht vorhanden
  if frmSettings = nil then
    begin
      frmSettings := TfrmSettings.Create(nil);
    end;

  // Eigenschaften des Einstellungen-Formulars setzen
  with frmSettings do
    begin
      // Dialog modal anzeigen
      ShowModal;
    end;
end;

// Unit für das Formular
procedure TfrmSettings.FormCreate(Sender: TObject);
begin
  BorderIcons := [biSystemMenu];
  BorderStyle := bsSingle;
  Caption := 'Einstellungen'; // <-- Es macht keinen Unterschied ob ich das hier setze
                                  // oder direkt im OI, das Ergebnis ist dasselbe
  // Fensterposition setzen
  Position := poMainFormCenter;
end;
Zitat von Luckie:
Castet man den Unicode String vorher nicht nach Ansi ist eben nach dem ersten Zeichen schluss mit der Ausgabe.
Ich fürchte genau das passiert bei mir. Wie caste ich denn einen Unicode-String? Versucht habe ich es bereits mit PChar(), PWideChar(), PAnsiChar() und noch ein paar anderen Varianten...

Gruss
Dieter
  Mit Zitat antworten Zitat