Verfasst: 21.03.2006 00:41
Ist schon Ostern
@ts-soft: War nicht da. Habe zur Zeit viel zu tun.
FF

@ts-soft: War nicht da. Habe zur Zeit viel zu tun.
FF

Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
schlicht die tatsache, das posthum die abkürzung ist fürSylvia hat geschrieben:Also, was ist den hier mit dem Begriff 'posthume' nicht in Ordnung ?
Ja, TomysoftSylvia hat geschrieben:Habe ich ein 'Softi' vergessen ?
Deshalb:Nachdem ich die "posthum - postum" Diskussionen las, machte ich mich auch auf die Suche. Nach Grimm, Duden,"Sprachbrockhaus" usw. die einen irgendwie im Regen stehen lassen, erstaunte mich der Wahrig mit der "klaren" Aussage: "posthum fälschl. für: postum".
Und noch genauer:Das Wort postum - volksetymologisch posthum (Wortspiel, lateinisch etwa: nach dem Ableben) -, wird häufig gebraucht im Zusammenhang mit Ehrungen, sowie mit Veröffentlichungen von Werken einer bereits verstorbenen Person. Es geht zurück auf das lat. postumus (letzter, nachgeboren, nach dem Tode eintretend, Superlativ von posterus nachfolgend vgl. lat. post nach).
Aber hast recht. Es gibt genug Unwissende, die es wie du irrtümlich falsch benutzen, weil es viele um sie herum schon falsch benutzt haben. Das ist halt das kreuz mit den Fremdwörtern.Dies dürfte manchen Wortklauber überraschen: postum und posthum bedeuten tatsächlich dasselbe! Und zwar "nach jemandes Tod erfolgt" (zum Beispiel eine Auszeichnung) oder "nach jemandes Tod erschienen, nachgelassen". Dass nur "posthum" dies bedeutete, während "postum" mit "nachträglich" gleichzusetzen sei, ist ein Missverständnis.
Die Form ohne "h" ist die ältere. Sie wurde im 18. Jahrhundert aus dem lateinischen Wort postumus abgeleitet, welches "zuletzt geboren, nach dem Tod des Vaters geboren" bedeutet. Im Erbrecht gibt es den Begriff des Postumus, das ist der Spät- oder Nachgeborene.
Die Form mit "h" ist eine Nebenform, die sich volksetymologisch an das lateinische Wort humus (= Erde) und das davon abgeleitete humare (= beerdigen; daher: exhumieren = wiederausgraben) anlehnt. Weil man durch Verknüpfung mit "Humus" den Friedhofsgeruch förmlich riechen und sich somit die Bedeutung des Wortes postum besser merken konnte, schrieb man es vorzugsweise mit "h". Diese volkstümliche Variante hat sich durchgesetzt und die lateinische Form stark zurückgedrängt.
Wer heute postum statt posthum schreibt, der begeht aber keinen Fehler. Denn der Friedhofshumus ist dem Wort erst nachträglich beigemischt worden, die "reine" Form kommt ohne "h" aus und wird auch ganz normal auf der ersten Silbe betont: Postum - wie Punktum.
Das ist Richtig. Es werden ja nach den Compilieren nicht der Name der Methoden aufgerufen, sondern die Adresse in der virtuellen Tabelleullmann hat geschrieben: Sehe ich das richtig, das in dem Interface die Methoden für MyObject in der gleichen Reihenfolge wie die Funktionsadressen in der DATA-Section geschrieben sein müssen ?
Man kann jetzt ohne Probleme den Object weitere Methoden hinzufügen ohne die Daten übergeben zu müssen.Wo ist der Vorteil von solchen Objekten, wo ich mit Methoden (letztendlich sind es die Prozeduren iGet und iPut) die Daten speichern kann?
Alle DCOM-Object sind so Programmiert, Wenn man das mit den virtuellen Tabellen durchschaut hat, Weiss man auch wie man andere Objecte in Purebasic integrieren kann.Geht der Trend zu OOP? Wird mehr OO oder prozedural programmiert?
Code: Alles auswählen
Interface IMsgBox ; Interface
SetTitle(Titel.s)
SetText(text.s)
SetFlags(flags.l)
Show()
Free()
EndInterface
Structure MsgBox_IT ; Structure der Liste der Proceduren-Pointer
IT.l[SizeOf(IMsgBox)/4]
EndStructure
Structure MsgBox_M ; Interface-Daten (*this)
*VT.l
Titel.s
text.s
flags.l
EndStructure
Procedure MsgBox_SetTitle(*this.MsgBox_M, Titel.s)
*this\Titel = Titel
EndProcedure
Procedure MsgBox_SetText(*this.MsgBox_M, text.s)
*this\text = text
EndProcedure
Procedure MsgBox_SetFlags(*this.MsgBox_M, flags.l)
*this\flags = flags
EndProcedure
Procedure MsgBox_Show(*this.MsgBox_M)
ProcedureReturn MessageRequester(*this\Titel, *this\text, *this\flags)
EndProcedure
Procedure MsgBox_Free(*this.MsgBox_M)
FreeMemory(*this)
EndProcedure
Enumeration ; Methoden
#SetTitle
#SetText
#SetFlags
#Show
#Free
EndEnumeration
Procedure New_MsgBox()
Protected *object.MsgBox_M
Static *VT.MsgBox_IT
If *VT = #Null
*VT = AllocateMemory(SizeOf(MsgBox_IT))
*VT\IT[#SetTitle] = @MsgBox_SetTitle()
*VT\IT[#SetText] = @MsgBox_SetText()
*VT\IT[#SetFlags] = @MsgBox_SetFlags()
*VT\IT[#Show] = @MsgBox_Show()
*VT\IT[#Free] = @MsgBox_Free()
EndIf
*object = AllocateMemory(SizeOf(MsgBox_M))
*object\VT = *VT
ProcedureReturn *object
EndProcedure
box.IMsgBox = New_MsgBox()
If box
box\SetTitle("OOP_MessageBox")
box\SetText("Magst Du OOP?")
box\SetFlags(#PB_MessageRequester_YesNo)
Select box\Show()
Case #PB_MessageRequester_Yes
box\SetText("Oh, das Freut mich!")
Case #PB_MessageRequester_No
box\SetText("Das macht mich Traurig")
EndSelect
box\SetFlags(#PB_MessageRequester_Ok)
box\Show()
box\Free()
EndIf
; IDE Options = PureBasic v3.94 (Windows - x86)
; CursorPosition = 64
; FirstLine = 40
; Folding = g-