AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
Thema durchsuchen
Ansicht
Themen-Optionen

Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

Ein Thema von FriendOfDelphi · begonnen am 24. Nov 2010 · letzter Beitrag vom 25. Nov 2010
Antwort Antwort
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#1

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 11:18
Wahrscheinlich mache ich hier, bzw. im Konstruktor etwas falsch.
Was müssen wir tun, damit du ihn uns zeigst?
Lach
Gar nichts, außer vielleicht zu sagen, in welcher Art und weise ich ihn senden soll.
Möchte mir nicht wieder einen "Rüffel" holen, dass ich irgendetwas falsch gemacht habe und unwissentlich gegen irgendwelche Forumsregeln verstoßen habe.
Dafür ist mir das hier zu wichtig. Hier im Forum herrscht ein gewisses Niveau vor, das woanders nicht so ist und ich daher nicht missen möchte.
Das Programm besteht, wie gesagt aus zwei Units.
Soll ich es als ZIP-Datei anhängen, oder beide Quellcodes als Text senden?
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 11:24
Wahrscheinlich mache ich hier, bzw. im Konstruktor etwas falsch.
Was müssen wir tun, damit du ihn uns zeigst?
Lach
Gar nichts, außer vielleicht zu sagen, in welcher Art und weise ich ihn senden soll.
Wie wäre es mit posten des relevanten Codeteiles?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#3

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 12:00
Hier Teile der "Test-Unit":
Delphi-Quellcode:
[...schnipp...]

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  UNotifikationen; //<-- die verwendete, eigene Unit

[...schnipp...]

var
  Form1: TForm1;
  Test: TNotifikationen; //<-- die verwendete Klasse aus eigenen Unit

[...schnipp...]

procedure TForm1.FormCreate(Sender: TObject); //<-- und die beiden Methoden aus der Klasse
begin
  Test.Create(self);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Test.Destroy;
end;

end.
Hier Teile der eigenen Unit:
Delphi-Quellcode:
[...schnipp...]

type
  TNotifikationen = class(TWinControl)
    procedure WMAdsDeviceNotificationSRr( var Message: TMessage );
    message WM_ADSDEVICENOTIFICATIONSRr;
  private
    { Private-Deklarationen }
    LocalAddr : TAmsAddr;
    procedure AdsOpen();
    procedure AdsClose();
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy;
  end;

[...schnipp...]
procedure TNotifikationen.AdsOpen();
var
  VarName : PChar;
begin
[...tue irgendwas ...]
end;

[...schnipp...]

procedure TNotifikationen.AdsClose();
begin
[...tue irgendwas ...]
end;

[...schnipp...]

constructor TNotifikationen.Create;
begin
  AdsOpen();
end;

destructor TNotifikationen.Destroy;
begin
  AdsClose();
end;

[...schnipp...]
Ist das so nachvollziehbar und ein Fehler erkennar?
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 12:02
Eine Instanz einer Klasse erstellt man so:
obj := TMyClass.Create;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#5

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 13:31
Eine Instanz einer Klasse erstellt man so:
obj := TMyClass.Create;
Das war der entscheidende Hinweis.
Die Quellcode in der Unit wird jetzt vollständig mitkompiliert und die "blauen Punkte" sind da!
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 12:07
Die Instanz einer Klasse weist man so zu:
Test := TTest.Create(Self);

Im Create und Destroy Deiner Komponente fehlen das inherited.
Sie wird also nicht erzeugt und nicht aufgelöst.

Hinter Deinem Destructor fehlt das override.

Die Freigabe der Komponente (im FormDestroy) sollte man über Test.Free veranlassen.
(Bzw. kann diese Freigabe an der Stelle entfallen, da das Formular Deine Komponente als deren Eigentümer automatisch frei gibt.)

Schau mal, ob Dich das schon weiter bringt...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (25. Nov 2010 um 12:10 Uhr)
  Mit Zitat antworten Zitat
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#7

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 13:36
Die Instanz einer Klasse weist man so zu:
Test := TTest.Create(Self); Im Create und Destroy Deiner Komponente fehlen das inherited.
Sie wird also nicht erzeugt und nicht aufgelöst.
Ich habe die fehlenden "inherited" ergänzt. Aber auch mit Hilfe der Delphi-Hilfe nicht genau verstanden, was das macht.
Hinter Deinem Destructor fehlt das override.
Habe ich ebenfalls ergänzt.
Die Freigabe der Komponente (im FormDestroy) sollte man über Test.Free veranlassen.
(Bzw. kann diese Freigabe an der Stelle entfallen, da das Formular Deine Komponente als deren Eigentümer automatisch frei gibt.)

Schau mal, ob Dich das schon weiter bringt...
Die Methode "Free" scheint ja auch ohne mein Zutun zu existieren.
Heißt das, dass ich gar keinen Destruktor selber machen muss?
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#8

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 13:42
inherited ruft die gleichnamige Methode der Vorfahrklasse auf. Und den Destruktor musst Du nur überschreiben, wenn Du selbst Speicher anforderst (z.B. indem Du Instanzen von Klassen erzeugst) und diesen beim Zerstören wieder freigeben musst. Aber Vorsicht: im Destruktor gehört das inherited immer in die letzte Zeile.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.

  Alt 25. Nov 2010, 14:12
Free ruft intern Destroy auf. Destroy sollte man nicht direkt aufrufen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz