AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Klassen in Webservice
Thema durchsuchen
Ansicht
Themen-Optionen

Klassen in Webservice

Ein Thema von DCoder · begonnen am 8. Okt 2005 · letzter Beitrag vom 8. Okt 2005
Antwort Antwort
DCoder

Registriert seit: 9. Mär 2003
3 Beiträge
 
Delphi 7 Enterprise
 
#1

Klassen in Webservice

  Alt 8. Okt 2005, 16:39
Hallo,

ich programmiere an einem Webservice (SOAP Server Anwendung, CGI) in Delphi 7 (Enterprise) und habe leider ein richtig großes Problem:

In dem Webservice habe ich eine Klasse, die über ein Interface von außen abrufbar ist. Jetzt kann ich auch problemlos die einzelnen Funktionen der Klasse über php oder über delphi (Webservice Client) aufrufen.

Nur funktioniert das OOP Konzept nicht so ganz -- ich bin absoluter newbie in sachen webservice, daher kann es auch gut sein, dass ich da vielleicht was falsch verstanden habe...

Ich skizzier mal das Grundkonzept was ich habe (ist jetzt mehr Pseudo Code, der ganze Code würde etwas unübersichtlich werden)

Delphi-Quellcode:
TClassA = class
  FClassB : TClassB;

  function Init;
  function Work;
end;

...

function TClassA.Init;
begin
  FClassB := TClassB.Create;
end;

function TClassA.Work;
begin
  FClassB.xyz;
end;
Die Klasse TClassA ist über ein Interface nach außen hin aufrufbar - funktioniert auch an sich. Jetzt ist mein Problem, dass wenn ich die Funktion "Init" aufrufe, wird ja eine weitere Klasse erstellt und in der Klasse TClassA in der Variable FClassB gespeichert. Wenn ich jetzt erst "Init" und dann "Work" aufrufe, dann ist die Variable FClassB in der Funktion "Work" nicht mehr zugewiese, also sprich = nil.

Ich hab schon alles mögliche getestet um sicher zu gehen, dass FClassB vorher schon mal ungleich nil war und bin immer zu dem Ergebnis gekommen, dass der Webservice intern richtig arbeitet. Ich hab das Gefühl, als würde bei jedem Funktionsaufruf von außen die ganze Klasse des Webservices neu erstellt werden, bzw. die vorherigen Daten nicht mehr vorhanden sein.

Habt ihr eine Ahnung woran das liegen könnte? Oder ist das generell gar nicht möglich "wirklich" mit Klassen in Webservices zu arbeiten?

Vielen Dank im Vorraus,
DCoder
  Mit Zitat antworten Zitat
DCoder

Registriert seit: 9. Mär 2003
3 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Klassen in Webservice

  Alt 8. Okt 2005, 17:15
Mal ne generelle Frage noch dazu: Wenn ich auf einen Webservice zugreife, wird dann das eigentliche Programm nur kurz ausgeführt und danach direkt wieder geschlossen? Denn das würde erklären warum die Variable immer = nil ist bei dem zweiten aufruf.
Die Frage ist also, wie kann ich einen Webservice permanent im Hintergrundlaufen lassen, bzw. so lange bis der Nutzer ihn wieder schließt?

Ich hab mir zum Testen mal meinen TaskManager angeschaut während ich auf den Webservice zugreife (der webservice liegt auf meinem lokalen Server - Apache - im cgi-bin Verzeichnis) und musste feststellen, dass der Prozess kurz sichtbar wird und danach sofort wieder weg ist, also immer nur erstellt wird, wenn ich eien Funktion des Webservices nutze!

Kann man das irgendwie anders lösen, oder bin ich da voll auf dem Holzweg?

Vielen Dank!
  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 17:49 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