Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem bei Erstellung eigener Unit (https://www.delphipraxis.net/88010-problem-bei-erstellung-eigener-unit.html)

Guido Eisenbeis 10. Mär 2007 04:14

Re: Problem bei Erstellung eigener Unit
 
Hallo bigmama.

Das kenne ich. Bei mir kam das zum Beispiel vor, wenn ich Units eingebunden habe die "sich überschneiden".

Zum Beispiel habe ich in einer eigenen Unit mit TBitmap gearbeitet. Zu diesem Zweck habe ich im interface-Abschnitt unter uses die Unit "Graphics" und im implemantation-Abschnitt unter uses die Unit "Windows" eingebunden.

Im interface-Abschnitt habe ich eine Funktion deklariet, die TBitmap benutzte.
Im implemantation-Abschnitt habe ich innerhalb einer Funktion mit TBitmap gearbeitet.

Beispiel:
Delphi-Quellcode:
procedure IrgendeineFunktion();
var
  BitMp: TBitmap;
begin
  BitMp := TBitmap.Create;
  ...
Dann hat Delphi heftig angefangen rot zu unterkringeln (zum Beispiel .Create) und hat die Sachen auch nicht mehr gekannt.

Versuch also mal, die Gültigkeitsbereiche der eingebundenen Units eindeutig festzulegen. Vielleicht bringt das Abhilfe.

Gruß,
Guido.

Chris P 10. Mär 2007 09:33

Re: Problem bei Erstellung eigener Unit
 
Zitat:

Zitat von bigmama2k
Delphi-Quellcode:
unit akcode;
  ...
 
  function TAKCode.GetUVersion; // <--- TAKCode.GetUVersion: string;
  begin
    Result :='1.1';
  end;

  ...
bigmama

Fehlt da nicht der Rückgabetyp?

Hawkeye219 10. Mär 2007 09:49

Re: Problem bei Erstellung eigener Unit
 
Hallo Chris,

die Sprachdefinition von PASCAL läßt es zu, die Parameterliste und den Ergebnistyp bei der Implementierung von Prozeduren und Funktion wegzulassen. Man kann darüber streiten, ob es sinnvoll ist.

Gruß Hawkeye

Chris P 10. Mär 2007 13:58

Re: Problem bei Erstellung eigener Unit
 
Ok, gut zu wissen ....

Ich habe gedacht, es wäre ein Syntaxfehler.

TonyR 10. Mär 2007 14:55

Re: Problem bei Erstellung eigener Unit
 
Manchmal hilft bei sowas schon, auf Typen, die irgendwo stehen mal per RechtsKLick auf "Deklaration suchen" zu gehen... dann hat der Editor wahrscheinlich erst richtig kapiert, dass es nichts zum Unterstreichen gibt... bei mir hats jedenfalls schon manchmal geholfen, aber keine Garantie, dass das bei dir auch so ist!

Guido Eisenbeis 10. Mär 2007 20:48

Re: Problem bei Erstellung eigener Unit
 
Zitat:

Zitat von Hawkeye219
Hallo Chris,

die Sprachdefinition von PASCAL läßt es zu, die Parameterliste und den Ergebnistyp bei der Implementierung von Prozeduren und Funktion wegzulassen. Man kann darüber streiten, ob es sinnvoll ist.

Gruß Hawkeye

Hier stimme ich Hawkeye zu. Es ist nicht immer sinnvoll, auch alles zu tun, was man tun kann! Ein Code wird einfach unübersichtlich und fehleranfällig, wenn man zum Beispiel Funktionen ohne explizite Angabe des Rückgabewertes deklariert. Ebenso erhöht auch einen leere Parameterliste die Lesbarkeit!

Ich selbst gehe auch öfter den bequemen Weg:

Delphi-Quellcode:
procedure IrgendeineFunktion();
var
  BitMp: TBitmap;
begin
  BitMp := TBitmap.Create;
  BitMp := Graphics.TBitmap.Create; // <- eigentlich besser
  ...
Aber solange es einem nicht alles rot unterkringelt ... :party:

Guido.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.
Seite 2 von 2     12   

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