Re: Problem mit TObject.Classname
@himitsu
Es könnte jetzt jemand auf die Idee kommen, den Aufruf aus dem zweiten Code-Block mit der Original-Routine zu kombinieren. Das wird nicht gut gehen... Gruß Hawkeye |
Re: Problem mit TObject.Classname
Delphi-Quellcode:
PS: warum eigentlich ItemUsed?
var ServerList: Array[..] of TObject;
function NotifyToList(item: TObject): Word; // oder besser gleich TServer statt TObject var ServerList: Array[..] of TServer; function NotifyToList(item: TServer): Word;
Delphi-Quellcode:
und die Übergabe dann nur noch so:
i := 0;
while not Assigned(ServerList[i]) do Inc(i); ServerList[i] := item; // aka (Vorherigs halten viele abver für schöner/verständlicher) i := 0; while ServerList[i] = nil do Inc(i); ServerList[i] := item;
Delphi-Quellcode:
NotifyToList(Server);
|
Re: Problem mit TObject.Classname
Wenn ich keine Adressen benutze, sondern direkt die Klassenreferenz (TObject), dann wird jedes mal eine AccessViolation ausgelöst.
Also geht es so nicht. |
Re: Problem mit TObject.Classname
Eigentlich geht es :angel:
wie versuchst du es denn derzeit? (etwas Code wäre eventuell nicht schlecht) |
Re: Problem mit TObject.Classname
Der Aufruf:
Delphi-Quellcode:
und
procedure TWdServer.WSIDCreate;
begin FWSID := NotifyToList(self); // mit FWSID := NotifyToList(TObject(self)); hab ichs auch schon versucht end;
Delphi-Quellcode:
Bei "ServerList[i] := item;" wird die AccessViolation ausgelöst.
type
TServerList = array[0..1023] of TObject; var ServerList: TServerList; [...] function NotifyToList(item: TObject): Word; var i: Word; begin ... ServerList[i] := item; ... end; |
Re: Problem mit TObject.Classname
Zitat:
Delphi-Quellcode:
var ServerList: Array[0..1023] of TObject;
function NotifyToList(Item: TObject): Word; begin Result := Low(ServerList); while Assigned(ServerList[Result]) do if Result < High(ServerList) then Inc(Result) else raise Exception.Create('Liste ist voll'); ServerList[Result] := Item; OutputLine(Format('WSID %.4x is stored for a %s', [Result, Item.ClassName])); end; // so das Freigeben von Items: FreeAndNil(ServerList[i]); |
Re: Problem mit TObject.Classname
dann kommt nicht einmal eine Fehlermeldung.
Das Programm bricht einfach ab. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 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