AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente entwickelt aber nicht sichtbar..?!

Ein Thema von Dragon27 · begonnen am 12. Mai 2007 · letzter Beitrag vom 13. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 20:41
Hallo,

also habe jetzt mal Version 0.1 Beta meine Kompo soweit fertig... doch jetzt der Schock... Wenn ich sie auf Form ziehen will wird sie nicht angezeigt... außerdem heißt es nach dem 2. Versuch, dass der Arbeitsspeicher voll ist....???

Delphi-Quellcode:
unit Stringverwaltung;

interface

uses
  SysUtils, Classes, Dialogs;

type
  TStringVarverwaltung = class(TComponent)
  private
    { Private-Deklarationen }
    cFehler:Boolean;
    type TVariable = record
    Name:String;
    Programm:String;
    Inhalt:String;
    Free:Boolean;
    end;
    var Variablen: array [1..9999999] of TVariable;
    function GetFree():integer;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create (AOwner : TComponent) ; override ;
  published
    { Published-Deklarationen }
    property Fehlermeldungen : Boolean read CFehler write CFehler;
    public Procedure NewVar(Name,Programm,Inhalt:String);
    public Procedure DelVar(Name,Programm:String);
    public Procedure DelVarbyProg(Programm:String);
    public Function GetInhalt(Name,Programm:String):String;
  end;



procedure Register;


implementation


procedure Register;
begin
  RegisterComponents('BlueRain', [TStringVarverwaltung]);
end;

constructor TStringVarverwaltung.Create(AOwner : TComponent);
var i:integer;
begin
for i := 1 to 9999999 do begin
Variablen[i].Free:=True;
end;

end;

Function TStringVarverwaltung.GetInhalt(Name,Programm:String):String;
var i:integer;
begin
for i := 1 to 9999999 do begin
  if (Variablen[i].Name=Name) and (Variablen[i].Programm=Programm) then begin
  Result:=Variablen[i].Inhalt;
  end;
end;

end;


function TStringVarverwaltung.GetFree():integer;
var i, ergebnis:integer;
begin
Ergebnis:=-1;
for I := 1 to 9999999 do begin
  if Variablen[i].Free=true then begin
  ergebnis:=i;
  break;
  end;

end;
if ergebnis=-1 then begin
 if cFehler=true then Messagedlg('Speicherüberlauf bei 9999999+1 -TStringVarVerwaltung-',mterror,[mbok],0);
end;
 Result:=Ergebnis;
end;


Procedure TStringVarVerwaltung.DelVarbyProg(Programm:String);
var i:integer;
begin
for i := 1 to 9999999 do begin
  if Variablen[i].Programm=Programm then begin
  Variablen[i].Name:='';
  Variablen[i].Programm:='';
  Variablen[i].Inhalt:='';
  Variablen[i].Free:=true;
  end;
end;

end;


Procedure TStringVarVerwaltung.DelVar(Name,Programm:String);
var i:integer;
begin
for i := 1 to 9999999 do begin
  if (Variablen[i].Name=Name) and (Variablen[i].Programm=Programm) then begin
  Variablen[i].Name:='';
  Variablen[i].Programm:='';
  Variablen[i].Inhalt:='';
  Variablen[i].Free:=true;
  end;
end;

end;



Procedure TStringVarverwaltung.NewVar(Name,Programm,Inhalt:String);
var index:integer;
begin
index:=Getfree();
Variablen[index].Name:=Name;
Variablen[index].Programm:=Programm;
Variablen[index].Inhalt:=Inhalt;
Variablen[index].Free:=False;

end;


end.
Bitte schaut es Euch mal durch .... ich weiß dass das Ding nicht perfekt ist aber ich will jetzt mal für den Anfang nur dass es funct...

Danke!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#2

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 20:44
var Variablen: array [1..9999999] of TVariable;

Und du weißt nicht warum der Arbeitsspeicher voll wird?
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 20:45
Wieso nimmst du keine dynamischen Arrays?
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#4

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 20:59
Hallo,

ja ich weiß, dass das nicht sauber ist.... aber es muss ja an was anderem Liegen.... das nimmt sicherlich keine 4 GB in Anspruch.. oder?

Trotzdem Danke!

Gruß

Andy
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 21:03
Hallo Andy,

wenn man einen constructor überschreibt, sollte man auch den geerbten constructor aufrufen.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#6

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 21:05
Hallo,

sorry du ist meine erste Kompo und kenne mich da nicht aus wie macht man da was?

Danke!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 21:06
MeinName Create;
Und rate mal was mein Name ist
<- siehe da
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 21:08
Zitat:
ja ich weiß, dass das nicht sauber ist....
Nicht sauber ist ne Untertreibung.
Zitat:
aber es muss ja an was anderem Liegen.... das nimmt sicherlich keine 4 GB in Anspruch.. oder?
Rechne doch mal aus wieviel Speicher belegt wird.
Übrigens kann ein Programm unter Windows nur 2 GB belegen
Markus Kinzler
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#9

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 22:13
Hallo,

also gut werde den Array noch dynamisch machen... Danke


Also das hier geht net:

Delphi-Quellcode:
constructor TStringVarverwaltung.Create(AOwner : TComponent);
var i:integer;
begin
inherited Create; //[DCC Fehler] Stringverwaltung.pas(51): E2035 Nicht genügend wirkliche Parameter
for i := 1 to 9999999 do begin
Variablen[i].Free:=True;
end;

end;
Danke für Eure Hilfe!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Komponente entwickelt aber nicht sichtbar..?!

  Alt 12. Mai 2007, 22:18
inherited Create( AOwner); Warum erzeugst du im Konstruktor schon wieder eine so rrsinnig große Menge an Elementen anstatt zur Laufzeit so viele wie nötig zu erzeugen? das ist doch der Vorteil der dynamsichen Variante.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:01 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