Autor Beitrag
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 02.11.04 19:00 
Hallo,
ich musste feststellen, dass die TListView-Komponente auf Windows 98 (wahrscheinlich auch 95) keine Einträge anzeigt. Aus diesem Grund suche ich eine TListView, die möglichst haargenau der delphieigenen gleicht, aber Win9x kompatibel ist.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 03.11.04 14:58 
Moment: Die TListView IST Windows9x kompatibel. Meine Programme laufen alle problemlos unter Windows 95, 98 und ME, und die benutzen die Komponente auch. Da ist wohl in deinem Programm was schief gegangen.
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.11.04 20:13 
Offenbar ja. Das Problem liegt devinitiv wo anders.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 04.11.04 13:55 
Warum postest du nicht einfach mal deinen Code? Dann könnten wir dir helfen, den Fehler zu finden.
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 04.11.04 18:59 
Ok, meinetwegen. Allerdings geht dieses Problem jetzt in eine ganz andere Richtung.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
function ConvertTo255(IP: string):string// Ermittlung der vermeintlichen Broadcast-IP
var
  loop: integer;
begin
  for loop := length(IP) downto 0 do
    if IP[loop] = '.' then
    begin
      result := copy(IP,1,loop)+'255';
      break;
    end;
end;

procedure SendPing(Info: TInfo); // Routine zum Senden eines Ping-Datenpakets à la "I`m still here"
var
  BroadCastIP: string;
  Stream: TMemoryStream;
begin
  BroadCastIP := Convertto255(Form1.idIPWatch1.LocalIP);
  Form1.UdpClient.Host := BroadCastIP;
  Stream := TMemoryStream.Create;
  Stream.Write(PING, SizeOf(PING));
  Stream.Write(Info, SizeOf(Info));
  Form1.UDPClient.SendStream(Stream);
  Stream.Free;
end;


Das ist ein Auszug aus meinem UDP-Chat, der ohne Server konzipiert ist. Jeder Client sendet regelmäßig einen Ping an die Broadcast-IP, die aufgrund der eigenen IP (vollkommen unfundiert) ermittelt wird. Es wird halt immer die eigene IP genommen und ans Ende eine 255 geschrieben.
Empfangen wird mit diesem Code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.UDPServerInput(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
  Signal: integer;
begin
  AData.Read(Signal, SizeOf(Signal));
  If Signal = PING then
    inProcessPing(Abinding.PeerIP, AData) // Dieser Fall müsste eintreten! Es passiert nichts.
  else if Signal = TEXT_MESSAGE then
    inProcessMessage(Abinding.PeerIP, Adata)
  else if Signal = SHUTDOWN then
    inRemoveClient(ABinding.PeerIP)
  else if Signal = SET_CURSOR then
    inSetCursor(ABinding.PeerIP, AData)
  else if Signal = SET_DESKTOP then
    inSetFalseDesktop;
end;


Das Kompatibilitätsproblem sieht nun so aus:
WinXP und Win9x können die Datenpakte senden, sprich Win9x-Rechner werden von anderen Rechner gesehen. Empfangen kann aber nur ein WinXP-Rechner. Worin kann nun das Problem liegen?

P.S.: @admins: evt Thread teilen und verschieben
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Do 04.11.04 19:41 
Hallo Elite,

ich hatte mal ähnliche Probleme mit den Komponenten TCLientSocket und TServerSocket. Hab diese damals auch leider nicht lösen können. Allerdings weiss ich aus Erfahrung, dass die Verbindung mit den UDP-Komponenten funktioniert.
Es gibt für Win95 ein Update, welches die Sockets in irgend einer Weise repariert. Hast du das schonmal ausprobiert (Such nach "Socket Update" oder so)?

Gruß Hape!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 04.11.04 19:47 
Achso, kleine Ergänzung: Es handelt sich um die Indy-UDP Komponenten. Gilt deine Antwort auch dafür?