Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Variante des Typs (null) nicht in Typ (OleStr) konvertierbar (https://www.delphipraxis.net/203491-variante-des-typs-null-nicht-typ-olestr-konvertierbar.html)

Fallenzer 23. Feb 2020 16:25

Variante des Typs (null) nicht in Typ (OleStr) konvertierbar
 
Hallo und guten Tag,

letztens habe ich versucht, einen Splashscreen zu programmieren.

Code für Splashscreen:

Delphi-Quellcode:
unit Unit5;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

type
  TForm5 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Timer1: TTimer;
    procedure FormShow(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    Completed: Boolean;
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

 procedure TForm5.FormShow(Sender: TObject);
begin
  OnShow := nil;
  Completed := False;
  Timer1.Interval := 3000;
  Timer1.Enabled := True;
end;

procedure TForm5.Timer1Timer(Sender: TObject);
begin
  Self.Close; // Letzte Änderung
end;


end.
Code für Projektdatei:

Delphi-Quellcode:
program Project1;

uses
  Vcl.Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2},
  Unit3 in 'Unit3.pas' {Form3},
  Unit4 in 'Unit4.pas' {Form4},
  Vcl.Themes,
  Vcl.Styles,
  Unit5 in 'Unit5.pas' {Form5};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.Title := 'Danilos Market Solution [beta v.4,3]';
  Form5 := TForm5.Create(nil) ;

  {  try                   }
  {    Form5.ShowModal;    }
  {  finally               }  // LETZTE ÄNDERUNG
  {    Form5.Free;         }
  {  end;                  }

  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm4, Form4);
  Application.Run;
end.
Copilieren hat nicht funktioniert, erneutes Öffnen des Projekts ebenfalls... -> Fehlermeldung

Ich würde mich auf schnelle Hilfe freuen...

hhcm 23. Feb 2020 17:02

AW: Variante des Typs (null) nicht in Typ (OleStr) konvertierbar
 
Zitat:

Zitat von Fallenzer (Beitrag 1458135)
Copilieren hat nicht funktioniert, erneutes Öffnen des Projekts ebenfalls... -> Fehlermeldung

Weil?

- Fehlermeldung?
- Was steht in Form1 - 4 ?

Klaus01 23. Feb 2020 17:20

AW: Variante des Typs (null) nicht in Typ (OleStr) konvertierbar
 
Warumm setzt Du onShow := nil in der FormShow Methode?
Die Form wird doch sowieso nicht angezeigt bevor Du sie mit show oder showModal aufrufst.

Grüße
Klaus

Fallenzer 23. Feb 2020 17:43

AW: Variante des Typs (null) nicht in Typ (OleStr) konvertierbar
 
Mit deinem Vorschlag ist das Problem trotzdem nicht gelöst...

himitsu 23. Feb 2020 17:59

AW: Variante des Typs (null) nicht in Typ (OleStr) konvertierbar
 
Zitat:

Zitat von Klaus01 (Beitrag 1458138)
Die From wird doch sowieso nicht angezeigt bevor Du sie mit show oder showModal aufrufst.

Oder man stellt Visible der Form im Formdesigner auf True.

Zitat:

Delphi-Quellcode:
  Timer1.Interval := 3000;
  Timer1.Enabled := True;

Das kann man natürlich auch im Formdesigner erledigen und in der DFM speichern lassen.


Tja, aber da der Text der Fehlermeldung geheim ist, kann auch niemand helfen.

Fallenzer 23. Feb 2020 18:04

AW: Variante des Typs (null) nicht in Typ (OleStr) konvertierbar
 
Liste der Anhänge anzeigen (Anzahl: 1)
Um genauer zu sein

Klaus01 23. Feb 2020 18:42

AW: Variante des Typs (null) nicht in Typ (OleStr) konvertierbar
 
vielleicht hilft das: https://community.idera.com/develope...to-type-olestr


hier ist noch ein ähnlicher Thread zu finden: https://www.delphipraxis.net/193795-...ll-konnte.html

Grüße
Klaus

himitsu 24. Feb 2020 01:59

AW: Variante des Typs (null) nicht in Typ (OleStr) konvertierbar
 
Quellcode sind DPR, PAS und DFM.
Im Notfall kann man die DPROJ immer löschen und sie wird beim Öffnen der DPR neu erstellt. (oder erstmal nur umbenennen, also z.B. _ ~ oder sonstwas in die Dateiendung einfügen)
Dabei gehen zwar die Projektoptionen verloren, aber die kann man auch wieder neu einstellen, falls man dort schon etwas geändert hatte.

PS: Dialoge lassen sich auch schnell direkt kopieren.
Einfach Strg+C und der Textinhalt des Dialogs lässt sich hier in einem [QUOTE]...[/QUOTE] super einfügen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz